12.整数转罗马数字-贪心算法

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

Accepted
3999/3999 cases passed (0 ms)
Your runtime beats 100 % of cpp submissions
Your memory usage beats 41.89 % of cpp submissions (5.9 MB)

猜你喜欢

转载自blog.csdn.net/The_Dan/article/details/121760026