Leetcode12. 整数转罗马数字(贪心)
Posted !0 !
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Leetcode12. 整数转罗马数字(贪心)相关的知识,希望对你有一定的参考价值。
题目链接:https://leetcode-cn.com/problems/integer-to-roman/
解题思路
对于罗马数字从左到右的每一位,选择尽可能大的符号值
代码
class Solution {
public String intToRoman(int num) {
String ans = new String();
int[] a = {1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4 , 1};
String[] b = {"M", "CM", "D", "CD", "C", "XC", "L", "XL", "X", "IX", "V", "IV", "I"};
for(int i = 0; i < a.length; i++){
while(num >= a[i]){
num -= a[i];
ans += b[i];
}
}
return ans;
}
}
复杂度分析
- 时间复杂度:O(1)
- 空间复杂度:O(1)
以上是关于Leetcode12. 整数转罗马数字(贪心)的主要内容,如果未能解决你的问题,请参考以下文章
LeetCode 12. 整数转罗马数字 Java/C++ 贪心算法
LeetCode 12. 整数转罗马数字 Java/C++ 贪心算法