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++ 贪心算法

LeetCode 12. 整数转罗马数字 Java/C++ 贪心算法

LeetCode 12. 整数转罗马数字

leetcode 每日一题 12. 整数转罗马数字

12. 整数转罗马数字(贪心)