前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >leetcode之罗马数字转整数

leetcode之罗马数字转整数

作者头像
code4it
发布2020-11-02 10:41:39
3360
发布2020-11-02 10:41:39
举报
文章被收录于专栏:码匠的流水账

本文主要记录一下leetcode之罗马数字转整数

题目

代码语言:javascript
复制
给定一个罗马数字,将其转换成整数。输入确保在 1 到 3999 的范围内。


来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/roman-to-integer
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

题解

代码语言:javascript
复制
class Solution {

    static Map<Character,Integer> map = new HashMap<>();
    static {
        map.put('I',1);
        map.put('V',5);
        map.put('X',10);
        map.put('L',50);
        map.put('C',100);
        map.put('D',500);
        map.put('M',1000);
        map.put('A',4);
        map.put('B',9);
        map.put('Q',40);
        map.put('P',90);
        map.put('E',400);
        map.put('F',900);
    }

    public int romanToInt(String s) {
        s = s.replace("IV","A").
                replace("IX","B").
                replace("XL","Q").
                replace("XC","P").
                replace("CD","E").
                replace("CM","F");
        Integer result=0;
        for(char num : s.toCharArray()){
            result += map.get(num);
        }
        return result;
    }
}

小结

这里采用HashMap对罗马数字与阿拉伯数字进行映射,另外对于特殊的组合罗马数字进行替换,最后遍历char数字查找映射进行累加。

doc

  • 罗马数字转整数
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-10-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 码匠的流水账 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 题目
  • 题解
  • 小结
  • doc
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档