leetcode刷题笔记(四)[Go语言实现]
2021-08-18 15:19
1161 查看
leetcode刷题笔记(四)
[13. 罗马数字转整数](https://leetcode-cn.com/problems/reverse-integer/)
解法一:
首先将罗马数字列表做一个map放进去,以便于后面比对罗马字符进行取值。
对字符串进行遍历,正常情况就累加。
如果遇到满足类似IV这类特殊情况就是,只要每一个新值比前者大,我们就将减去两个前者,等同于将前者的加运算变为减。
func romanToInt(s string) int { var sum int m := make(map[byte]int) m['I'] = 1 m['V'] = 5 m['X'] = 10 m['L'] = 50 m['C'] = 100 m['D'] = 500 m['M'] = 1000 tmp := 1000 for i := 0; i < len(s); i++ { now := m[s[i]] if tmp < now{ sum -= 2 * tmp } sum += now tmp = now } return sum }
相关文章推荐
- leetcode的python实现 刷题笔记26:删除排序数组中的重复项
- leetcode的python实现 刷题笔记14:最长公共前缀
- leetcode的python实现 刷题笔记28:实现strStr()
- LeetCode刷题笔记792:匹配子序列的单词数(Python实现)
- leetcode的python实现 刷题笔记35:搜索插入位置的暴力解法和优化解法
- Leetcode刷题笔记之 Reverse Integer(python实现)
- LeetCode刷题笔记796:旋转字符串(Python实现)
- LeetCode刷题笔记985:查询后的偶数和(Python实现)
- LeetCode刷题笔记——用队列实现栈(easy)
- leetcode的python实现 刷题笔记27:移除元素
- leetcode的python实现 刷题笔记70:爬楼梯(动态规划)
- LeetCode刷题笔记(Java版)----28、实现strStr()
- LeetCode刷题笔记923:三数之和的多种可能(Python实现)
- LeetCode刷题笔记868:二进制间距(Python实现)
- leetcode的python实现 刷题笔记7: 反转整数
- 【刷题笔记】LeetCode_28:实现strStr()_简单(C)
- leetcode笔记总结——(6)通过四道题,来掌握二叉树的层序遍历。(python3和C++实现)
- LeetCode刷题笔记342:4的幂(Python实现)
- [笔记]Go语言实现同一结构体适配多种消息源
- leetcode的python实现 刷题笔记13: 罗马数字转整数