12,13罗马数字转来转去

这题thumps down怎么这么多,反正叫我徒手写是不可能写得出来的,记下来吧
首先要直到罗马数字和阿拉伯数字的转换规则:


image.png
  1. Integer to Roman
class Solution {
    // I    1    
    // V    5    
    // X    10   
    // L    50   
    // C    100  
    // D    500  
    // M    1000    
    public String intToRoman(int num) {
        String M[] = {"", "M","MM","MMM"};
        String C[] = {"", "C","CC","CCC","CD","D","DC","DCC","DCCC","CM"};
        String X[] = {"","X","XX","XXX","XL","L","LX","LXX","LXXX","XC"};
        String I[] = {"", "I","II","III","IV","V","VI","VII","VIII","IX"};
        return M[num/1000] + C[num%1000/100] + X[num%100/10] + I[num%10];
    }
}
  1. Roman to Integer
    很少写switch case, 注意一下syntax:
switch (variable){
  case 'v1':
    do sth;
    break;
  case 'v1':
    do sth;
    break;
}
class Solution {
    public int romanToInt(String s) {
        int res = 0;
          // I  1    
        // V    5    
        // X    10   
        // L    50   
        // C    100  
        // D    500  
        // M    1000
        //"XXIV"
        //"XXII"
        for (int i = s.length() - 1; i >= 0; i--){
            char c = s.charAt(i);
            switch (c) {
                case 'I':
                    res += (res >= 5 ? -1 : 1);
                    break;
                case 'V':
                    res += 5;
                    break;
                case 'X':
                    res += (res >= 50 ? -10 : 10);
                    break;
                case 'L':
                    res += 50;
                    break;
                case 'C':
                    res += (res >= 500 ? -100 : 100);
                    break;
                case 'D':
                    res += 500;
                    break;
                case 'M':
                    res += 1000;
                    break;
            }
        }
        return res;
    }
}
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 背景 一年多以前我在知乎上答了有关LeetCode的问题, 分享了一些自己做题目的经验。 张土汪:刷leetcod...
    土汪阅读 13,032评论 0 33
  • 人就是不一样的厉害了,象霍金就那样,都能知道那么多,而我一个健全的人为什么,什么也得不到了?我每天活在痛苦中,什么...
    我心我愿秀阅读 194评论 0 3
  • 当我带着儿子出门,有时候买菜回来。他提着一袋子菜,我提着一袋子菜。邻居见到就会打趣“你妈妈又欺负你了,这么大的袋子...
    谢江华阅读 552评论 0 0
  • 远程连接redis时发现怎么都现连接不上而且一直报错 测试代码: 后来发现是配置的问题,默认情况下,只允许本机访问...
    疯狂的冰块阅读 365评论 0 0
  • 我们不管是谁,都活在同一个时代。 大妈想的是烧什么菜 孩子想的是早饭真难吃 你想的是怎么都那么空 我想的是我们谁也...
    去拍阅读 229评论 0 1

友情链接更多精彩内容