leetcode13
题目:
阿拉伯数字转化为罗马数字
解题思路:
设置两个vector,一个放罗马数字,一个放罗马数字所对应的阿拉伯数字;
从给定数字num的最高位开始,逐位转化;n-=2;
如果该位数字是1-3,则在结果字符串上加上该位数字大小个roman[n]
如果该位数字是4,则在结果字符串上加上roman[n] + roman[n-1]
如果改为数字是5-8,则在结果字符串上加上roman[n-1] + 若干个roman[n]
如果该位数字是9,则在结果字符串上加上roman[n]+roman[n-2];
代码:
class Solution { public:string intToRoman(int num) {string res = "";vector<char> roman = { 'M', 'D', 'C', 'L', 'X', 'V', 'I' };vector<int> value = { 1000, 500, 100, 50, 10, 5, 1 };for (int n = 0; n < 7; n += 2) {int x = num / value[n];if (x >= 1 && x <= 3) {for (int i = 0; i < x; i++) {res += roman[n];}}else if (x == 4) {res = res + roman[n] + roman[n - 1];}else if (x >= 5 && x <= 8) {res += roman[n - 1];for (int i = 5; i < x; i++) {res += roman[n];}}else if (x == 9) {res = res + roman[n] + roman[n - 2];}num %= value[n];}return res;} };
转载于:https://www.cnblogs.com/yxlsblog/p/10637741.html
leetcode13相关推荐
- LeetCode13.罗马数字转整数 JavaScript
LeetCode13.罗马数字转整数 JavaScript 罗马数字包含以下七种字符: ·I, V, X, L,C,D 和 M. 字符 数值 I 1 V 5 X 10 L 50 C 100 D 500 ...
- Leetcode-13. 罗马数字转整数(C++)
题目链接 https://leetcode-cn.com/problems/roman-to-integer 题目描述 罗马数字包含以下七种字符: I, V, X, L,C,D 和 M. 字符 ...
- LeetCode----13. 罗马数字转整数
char roman[7] ="IVXLCDM"; int num[7] = {1,5,10,50,100,500,1000};int map(char c) //7种罗马转为阿拉 ...
- leetcode13. 罗马数字转整数
罗马数字包含以下七种字符: I, V, X, L,C,D 和 M. 字符 数值 I 1 V 5 X 10 L ...
- 52 - LeetCode-13 -罗马数字转整数_罗马数字转数字
//LeetCode-13-数组和mapclass Solution {public:int romanToInt(string s) {map<char,int> map;map['M' ...
- 算法-罗马数字转成整数(leetcode13)
罗马数组转换整数详情描述 解决: 有特殊的情况,当左边的罗马数字小于右边的罗马数组,那我们就要用大的减去小的: 例如4(IV) I代表1, V代表5,那么IV=5-1=4,也就是5+(-1)
- LeetCode-13.罗马数字转整数
题目内容 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/roman-to-integer/ 罗马数字包含以下七种字符: I, V, X, L, ...
- leetcode13——步长k的差值小于t的元素组,包含1的正方形面积,完全二叉树的结点个数,矩形重叠面积,汇总区间
题目一: leetcode220 给定一个整数数组,判断数组中是否有两个不同的索引 i 和 j,使得 nums [i] 和 nums [j] 的差的绝对值最大为 t,并且 i 和 j 之间的差的绝对值 ...
- C练题笔记之:Leetcode-13. 罗马数字转整数
题目: 罗马数字包含以下七种字符: I, V, X, L,C,D 和 M. 字符 数值 I 1 V 5 X 1 ...
最新文章
- klee错误汇报二:KLEE的optimize选项的一个困惑
- fragment error
- 写代码水平的几个发展阶段
- SharpGL学习笔记(一) 平台构建与Opengl的hello World (转)
- powerdesigner导入sql生成pdm没有注释_PDM手写签名实现方法
- GMP与ISO9000有何区别?(转载)
- idea中项目文件颜色含义
- Leo个人MSN简明使用手册
- android killer使用方法,AndroidKiller安装、设置及使用教程
- [Android]DDMS查看app保存的Sqlite数据库db文件和db升级
- 安装eclipse c++版本neno
- 水杯测试用例(500ml的塑料水杯)
- How Broswer Work
- 个体工商户怎么开通微信支付功能及收款码?
- MATLAB Support Package for USB Webcams 的使用方法(MATLAB调用摄像头后的使用方法)
- 一加手机怎么root权限_一加五,怎么获取ROOT权限
- 【转】校园招聘 建议
- Feinstein Institute研究人员解码脑沟和白质区域的神经活动,预测手指运动和手部触觉刺激...
- 元旦到了,手把手教你用 Python 制作一个炫酷烟花秀
- 网页中播放FLV视频文件的代码
热门文章
- 别人总结的一些git教程大全
- # 和 ## 的区别
- python socketio_flask-socketio实现WebSocket的方法
- lambda中使用filter过滤
- docker ps命令详解 列出运行中的容器
- oracle财务软件凭证打印,金算盘财务软件后台数据库为Oracle
- 收集一些优秀的DoNet开源项目
- 403 forbidden_[SpringSecurity] 自定义403页面
- php添加项目,thinkphp添加一个项目
- java 类型转换方法_java数据类型转换的常见方法