【LeetCode-面试算法经典-Java实现】【013-Roman to Integer (罗马数字转成整数)】
来源:互联网 发布:酷屏软件 编辑:程序博客网 时间:2024/05/16 03:17
【013-Roman to Integer (罗马数字转成整数)】
【LeetCode-面试算法经典-Java实现】【所有题目目录索引】
原题
Given a roman numeral, convert it to an integer.
Input is guaranteed to be within the range from 1 to 3999.
题目大意
给定一个罗马数字,将其转换成对应的整数。
输入的数字在1-3999之间。
解题思路
根据罗马数字与整数数字对应关系进行加法操作,如果前一个数字比后一个大就相减,否则进行相加。
代码实现
public class Solution { public int romanToInt(String s) { int result = 0; int prev = 0; // 记录前一个数字的值 for (int i = s.length() - 1; i > -1; i--) { switch (s.charAt(i)) { case 'I': // 1 if (1 < prev) { result -= 1; } else { result += 1; } prev = 1; break; case 'V': // 5 if (5 < prev) { result -= 5; } else { result += 5; } prev = 5; break; case 'X': // 10 if (10 < prev) { result -= 10; } else { result += 10; } prev = 10; break; case 'L': // 50 if (50 < prev) { result -= 50; } else { result += 50; } prev = 50; break; case 'C': // 100 if (100 < prev) { result -= 100; } else { result += 100; } prev = 100; break; case 'D': // 500 if (500 < prev) { result -= 500; } else { result += 500; } prev = 500; break; case 'M': // 1000 result += 1000; prev = 1000; break; } } return result; }
评测结果
点击图片,鼠标不释放,拖动一段位置,释放后在新的窗口中查看完整图片。
特别说明
欢迎转载,转载请注明出处【http://blog.csdn.net/derrantcm/article/details/46963377】
2 0
- 【LeetCode-面试算法经典-Java实现】【013-Roman to Integer (罗马数字转成整数)】
- 【LeetCode-面试算法经典-Java实现】【008-String to Integer (atoi) (字符串转成整数)】
- Leetcode 13 Roman to Integer 罗马数字转成整数
- 13.Roman to Integer (罗马数字转成整数)
- LeetCode Integer to Roman数字转成罗马数字
- [LeetCode-13] Roman to Integer(罗马数字转成阿拉伯数字)
- 【LeetCode-面试算法经典-Java实现】【012-Integer to Roman(数字转罗马字符)】
- [LeetCode]Integer to Roman整数转罗马数字
- (LeetCode) Roman to Integer --- 罗马数字转整数
- LeetCode | Integer to Roman(整数转换成罗马数字)
- LeetCode | Roman to Integer(罗马数字转换成整数)
- leetcode 13 Roman to Integer(罗马数字转换为整数)
- Integer to Roman (整数转为罗马数字)
- Integer to Roman (罗马数字转换) 【leetcode】
- LeetCode 13. Roman to Integer 罗马数字转整数
- [LeetCode]13. Roman to Integer(罗马数字转化为整数)
- [LeetCode]12. Integer to Roman(整数转化为罗马数字)
- leetcode-12. Integer to Roman(整数转换成罗马数字)
- PHP 文件系统
- 7.19学习笔记
- System.currentTimeMillis();
- DataInputStream和DataOutputStream用法细节探讨
- 【LeetCode-面试算法经典-Java实现】【012-Integer to Roman(数字转罗马字符)】
- 【LeetCode-面试算法经典-Java实现】【013-Roman to Integer (罗马数字转成整数)】
- advstringgrid 使用
- AdvStringGrid使用小结
- 【LeetCode-面试算法经典-Java实现】【014-Longest Common Prefix(最长公共前缀)】
- Python开发环境配置
- 潘多拉病毒
- CSS布局--使用margin-left负值布局
- 类图关系整理
- 1059: [ZJOI2007]矩阵游戏 (匈牙利)