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

Posted 醉苼

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode 12. 整数转罗马数字 Java/C++ 贪心算法相关的知识,希望对你有一定的参考价值。

Java/C++ 贪心算法

Java:

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

}

C++:

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

以上是关于LeetCode 12. 整数转罗马数字 Java/C++ 贪心算法的主要内容,如果未能解决你的问题,请参考以下文章

LeetCode刷题笔记 - 12. 整数转罗马数字

LeetCode 12. 整数转罗马数字

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

LeetCode 12 - 整数转罗马数字 - [简单模拟]

算法leetcode|12. 整数转罗马数字(rust重拳出击)

算法leetcode|12. 整数转罗马数字(rust重拳出击)