C/C++教程

leetcode算法第12题整数转罗马数字

本文主要是介绍leetcode算法第12题整数转罗马数字,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

题目描述:

 解析:

 

 

下面是代码:

class Solution {
    public String intToRoman(int num) {
        int values[] = {1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1};
        String strs[] = {"M", "CM", "D", "CD", "C", "XC", "L", "XL", "X", "IX", "V", "IV", "I"};
        StringBuilder sb = new StringBuilder();
        for(int i = 0; i < strs.length; i++) {
            int value = values[i];
            String str = strs[i];
            while(num >= value) {
                num -= value;
                sb.append(str);
            }
            if(num == 0) {
                break;
            }
        }
        return sb.toString();
    }
}

  • 时间复杂度:O(1)
  • 空间复杂度:O(1) 
这篇关于leetcode算法第12题整数转罗马数字的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!