资讯专栏INFORMATION COLUMN

Leetcode12 Integer to Roman

CoorChice / 2513人阅读

摘要:解题思路其中每两个阶段的之间有一个减法的表示,比如,写在前面表示。所以映射关系应该是然后就是贪心的做法,每次选择能表示的最大值,把对应的字符串连起来。

Roman to Integer

  

Given an integer, convert it to a roman numeral.
Input is guaranteed to be within the range from 1 to 3999.

解题思路:
其中每两个阶段的之间有一个减法的表示,比如 900=CM, C 写在 M 前面表示 M-C。
所以映射关系应该是

string symbol[]={"M","CM","D","CD","C","XC","L","XL","X","IX","V","IV","I"};    
int value[]=    {1000,900,500,400, 100, 90,  50, 40,  10, 9,   5,  4,   1};   

然后就是贪心的做法,每次选择能表示的最大值,把对应的字符串连起来。

    public String intToRoman(int num) {
        StringBuilder sb = new StringBuilder(); // result
        String[] str = new String[] { "M", "CM", "D", "CD", "C", "XC", "L", "XL", "X", "IX", "V", "IV", "I" };
        int value[]=    {1000,900,500,400, 100, 90,  50, 40,  10, 9, 5, 4, 1};   

        for(int i=0; num!=0; ++i){
             while(num >= value[i]){
                 num = num - value[i];
                 sb.append(str[i]);
             }
         }
        return sb.toString();
        }

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/64335.html

相关文章

  • leetcode 12 Integer to Roman

    摘要:题目详情题目的意思是输入一个阿拉伯数字,我们需要输出这个数字的罗马数字表示形式字符串。想法这道题最重要的点就是理解罗马数和阿拉伯数之间的转换规律。 题目详情 Given an integer, convert it to a roman numeral.Input is guaranteed to be within the range from 1 to 3999.题目的意思是: 输...

    wqj97 评论0 收藏0
  • [Leetcode] Roman to Integer and Integer to Roman

    摘要:正则表达式思路首先我们要熟悉罗马数的表达方式。验证字符串是否是罗马数,我们先看一下有效的罗马数是什么样的,假设该数字小于,从千位到个位依次拆解。 Valid Roman Numeral 正则表达式 思路 首先我们要熟悉罗马数的表达方式。M是1000,D是500,C是100,L是50,X是10,V是5,I是1。验证字符串是否是罗马数,我们先看一下有效的罗马数是什么样的,假设该数字小于50...

    wdzgege 评论0 收藏0
  • Leetcode PHP题解--D82 13. Roman to Integer

    摘要:题目链接题目分析将给定的罗马数字转换成阿拉伯数字。要注意,先替换连续出现的那些。最终代码若觉得本文章对你有用,欢迎用爱发电资助。 D82 13. Roman to Integer 题目链接 13. Roman to Integer 题目分析 将给定的罗马数字转换成阿拉伯数字。 思路 用替换法。 要注意,先替换连续出现的那些。例如,比先替换I,要先替换III。 最终代码

    CODING 评论0 收藏0
  • LeetCode Easy】013 Roman to Integer

    摘要:将罗马字母的字符串转换为代表的整数这题不难,用一个存罗马数字和具体数字的对应关系,然后遍历前后两两比较,该加加,该减减时间复杂度这里是自己写的一个方法,里面用一个,相当于存对应当时一直想着用一个来存减的值,所以没法用就用了指针,但其实就 Easy 013 Roman to Integer Description: 将罗马字母的字符串转换为代表的整数Roman numerals are ...

    wizChen 评论0 收藏0
  • LeetCode - 013 - 罗马数字转整数(roman-to-integer

    摘要:字符数值例如,罗马数字写做,即为两个并列的。通常情况下,罗马数字中小的数字在大的数字的右边。给定一个罗马数字,将其转换成整数。 Create by jsliang on 2019-05-23 13:24:24 Recently revised in 2019-05-23 14:55:20 一 目录 不折腾的前端,和咸鱼有什么区别 目录 一 目录 二 前言 三 解题 ...

    v1 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<