博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[leetcode]Roman to Integer
阅读量:4646 次
发布时间:2019-06-09

本文共 1013 字,大约阅读时间需要 3 分钟。

有了上一道题目的基础,这道题目就简单多了。

需要注意的是:1. 输入的s有可能只有一个字母,那么它和“CM”等比较时,有可能会先到末尾;2.本来想偷懒用subString()方法,但会超时,就用index来判断了。

public class Solution {    public int romanToInt(String s) {        String ss[] = new String[] {"M", "CM", "D", "CD", "C", "XC", "L", "XL", "X", "IX", "V", "IV", "I"};        int vv[] = new int[] {1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1};        int i = 0;        int ans = 0;        int j = 0;        while (j < s.length())        {            boolean match = true;            int len = ss[i].length();            for (int k = 0; k < len; k++)            {                if (j+k == s.length() || ss[i].charAt(k) != s.charAt(j+k))                {                    match = false;                    break;                }            }            if (match)            {                j += (len);                ans += vv[i];            }            else            {                i++;            }        }        return ans;    }}

  

转载于:https://www.cnblogs.com/lautsie/p/3290611.html

你可能感兴趣的文章
解决Cacti监控图像断断续续问题
查看>>
结构体的传参理解成员的存储方式
查看>>
python 进程与线程(理论部分)
查看>>
什么是API
查看>>
Java反射中method.isBridge() 桥接方法
查看>>
[shiro学习笔记]第二节 shiro与web融合实现一个简单的授权认证
查看>>
强名称程序集(strong name assembly)——为程序集赋予强名称
查看>>
1028. List Sorting (25)
查看>>
BZOJ 1613: [Usaco2007 Jan]Running贝茜的晨练计划
查看>>
ubuntu 重启命令,ubuntu 重启网卡方法
查看>>
Linux的学习:
查看>>
JavaScript中的原型继承原理
查看>>
Python logger模块
查看>>
jquery控制css的display(控制元素的显示与隐藏)
查看>>
关于python做人工智能的一个网页(很牛逼)
查看>>
判断控件的CGRect是否重合,获取控件的最大XY值
查看>>
POJ-1128 Frame Stacking
查看>>
浏览器调试淘宝首页看到有趣的招聘信息
查看>>
ASP.NET Identity “角色-权限”管理 4
查看>>
[转][译]ASP.NET MVC 4 移动特性
查看>>