swift实现罗马数字转整型
来源:互联网 发布:淘宝亲宝贝是什么 编辑:程序博客网 时间:2024/04/30 03:04
规则:给一串罗马数字,如MDCLXVI,从右往左看,如果前一个数字大于或等于现在的数字,则加前一个数字,小于则减前一个数字!
这是最简单的规则,最简单,最简单……可以拿几个罗马数字验证一下,知道这个规则,那么代码就好写了。。。
class Roman {
func romanToInt(_ s: String) -> Int {
let dic = ["I" : 1, "V" : 5, "X" : 10, "L" : 50, "C" : 100, "D" : 500, "M" : 1000]
var result :Int = 0
var currIndex = s.endIndex
var currValue = 0
while(currIndex != s.startIndex){
var prevIndex = s.index(before: currIndex)
var key = String(s[prevIndex])
var prevValue = dic[key]!
if(prevValue >= currValue){
result += prevValue
}else{
result -= prevValue
}
currIndex = prevIndex
currValue = prevValue
}
return result
}
}
- swift实现罗马数字转整型
- JavaScript实现-阿拉伯数字转罗马数字
- 13.罗马数字转化为整型
- 整型转字符串C++实现
- Roman to Integer | Leetcode 罗马数字转换为整型数
- LeetCode-13-Roman to Integer(罗马数字转换为整型数字)
- 罗马数字加法实现Roman Calculator
- JS实现阿拉伯数字到罗马数字
- 罗马数字转十进制数字
- LeetCode 罗马数字转整数
- 罗马数字转整数
- 整数转罗马数字
- LintCode:整数转罗马数字
- 罗马数字转十进制数
- LintCode_419_罗马数字转整数
- LintCode_418_整数转罗马数字
- 罗马数字转十进制
- Lintcode 罗马数字转整数
- Greys Java在线问题诊断工具
- eclipse中git操作(附完整截图)
- 废料最大利用问题
- HTML5的新标签
- 从头搭建imx6ull开发环境(uboot、内核编译及烧入、mfgtools详细使用方法)
- swift实现罗马数字转整型
- 17暑期ACM俱乐部个人训练赛第1场 (石油oj) 7.24号
- PAT乙级 1059. C语言竞赛(20)
- Java并发编程-Executor框架之Callable和Future接口
- netty之基础概念
- 给心灵加油,不忘初心
- c++可以重载与不可以重载的操作符
- UIPageControl 的宽度
- 心怀目标,超过贺涵