2.27日刷题记录 Integer to Roman (12)

 

 

 

 

 罗马数字的题,乍一看要求很多而且数据变化很繁琐,实际上可以讨个巧,将需要考虑的四,九等数字放入数组中,之后根据规律字符串往上加就可以了,遍历数组,当数字大于该数组数据时,减去该数据,字符串加入该数据对应的字符。一个循环解决问题。

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

 

------------恢复内容结束------------

------------恢复内容结束------------

posted @ 2021-02-27 15:12  章大佬  阅读(35)  评论(0)    收藏  举报