当前位置: 首页 > news >正文

[LeetCode]—Roman to Integer 罗马数字转阿拉伯数字

Roman to Integer

 

Given a roman numeral, convert it to an integer.

Input is guaranteed to be within the range from 1 to 3999.


分析:

         在上一篇[LeetCode]-Integer to Roman 阿拉伯数字转罗马数字的规律总结接基础上,只需要对字符逐个判断,对4,9,40,90,400,900判断稍复杂一点。


class Solution {
public:
    int romanToInt(string s) {
       int n=s.length();
       int res=0;
       for(int i=0;i<n;i++){
            switch(s[i]){
               case 'M':
                        res+=1000;break;
               case 'D':
                        res+=500;break;
               case 'C':
                        if(s[i+1]=='M')
                            res+=900,i++;
                        else if(s[i+1]=='D')
                            res+=400,i++;
                        else
                            res+=100;
                         break;
               case 'L':
                        res+=50;break;
 
               case 'X':
                        if(s[i+1]=='C')
                            res+=90,i++;
                        else if(s[i+1]=='L')
                            res+=40,i++;
                        else
                            res+=10;
                            break;
               case 'V':
                        res+=5;break;
               case 'I':
                        if(s[i+1]=='X')
                            res+=9,i++;
                        else if(s[i+1]=='V')
                            res+=4,i++;
                        else
                            res+=1;
                        break;
            }   
        }       
       return res;
    }
};


相关文章:

  • vim 全局批量替换
  • [LeetCode]—Anagrams 回文构词法
  • 一个简单的读写文件程序-适用于MTK平台资源管理
  • [LeetCode]—Simplify Path 简化路径表达式
  • 如何编写跨平台应用程序
  • Gartner:2009~2010年值得关注的8大移动技术
  • 金玉良言十六句
  • 将 Flex 集成到 Java EE 应用程序的最佳实践
  • Java软件工程师几个面试问题
  • 互联网创业几个思路
  • Asp.net 中文件以Binary 形式数据库的保存和读取
  • [LeetCode]—Permutations 求全排列
  • [LeetCode]—Permutations II 求全排列(有重复值)
  • 动态装卸DLL示例-匪徒和
  • 一个困扰我一个多星期的Nebula3的BUG
  • python3.6+scrapy+mysql 爬虫实战
  • AzureCon上微软宣布了哪些容器相关的重磅消息
  • JavaScript 基本功--面试宝典
  • Java到底能干嘛?
  • JSONP原理
  • Sublime text 3 3103 注册码
  • 案例分享〡三拾众筹持续交付开发流程支撑创新业务
  • 动态规划入门(以爬楼梯为例)
  • 力扣(LeetCode)965
  • 通过几道题目学习二叉搜索树
  • 【干货分享】dos命令大全
  • 长三角G60科创走廊智能驾驶产业联盟揭牌成立,近80家企业助力智能驾驶行业发展 ...
  • ​​​​​​​Installing ROS on the Raspberry Pi
  • ​总结MySQL 的一些知识点:MySQL 选择数据库​
  • # C++之functional库用法整理
  • # 学号 2017-2018-20172309 《程序设计与数据结构》实验三报告
  • #我与Java虚拟机的故事#连载03:面试过的百度,滴滴,快手都问了这些问题
  • %3cli%3e连接html页面,html+canvas实现屏幕截取
  • (02)Hive SQL编译成MapReduce任务的过程
  • (Git) gitignore基础使用
  • (第27天)Oracle 数据泵转换分区表
  • (附源码)springboot高校宿舍交电费系统 毕业设计031552
  • (附源码)springboot家庭财务分析系统 毕业设计641323
  • (附源码)计算机毕业设计SSM基于健身房管理系统
  • (论文阅读23/100)Hierarchical Convolutional Features for Visual Tracking
  • (每日持续更新)信息系统项目管理(第四版)(高级项目管理)考试重点整理 第13章 项目资源管理(七)
  • (转)创业的注意事项
  • (转)利用ant在Mac 下自动化打包签名Android程序
  • *2 echo、printf、mkdir命令的应用
  • .class文件转换.java_从一个class文件深入理解Java字节码结构
  • .htaccess配置重写url引擎
  • .NET 8 编写 LiteDB vs SQLite 数据库 CRUD 接口性能测试(准备篇)
  • .NET CF命令行调试器MDbg入门(三) 进程控制
  • .NET Framework .NET Core与 .NET 的区别
  • .net 后台导出excel ,word
  • .NET 中 GetHashCode 的哈希值有多大概率会相同(哈希碰撞)
  • .Net程序帮助文档制作
  • .net程序集学习心得
  • .net开源工作流引擎ccflow表单数据返回值Pop分组模式和表格模式对比
  • .NET连接数据库方式