资讯专栏INFORMATION COLUMN

leetcode 12 Integer to Roman

wqj97 / 3053人阅读

摘要:题目详情题目的意思是输入一个阿拉伯数字,我们需要输出这个数字的罗马数字表示形式字符串。想法这道题最重要的点就是理解罗马数和阿拉伯数之间的转换规律。

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

题目的意思是: 输入一个阿拉伯数字,我们需要输出这个数字的罗马数字表示形式(字符串)。

想法

这道题最重要的点就是理解罗马数和阿拉伯数之间的转换规律。

1000[M],500[D],100[C],50[L],10[X],5[V],1[I]这是基本转换

但是还有一些特殊情况900[CM]:这种情况就是左边的这个罗马字符代表的数、减去右边的这个罗马字符代表的数才得到900。相似的有400[CD],90[XC],40[XL],9[IX],4[IV]

解法
    public String intToRoman(int num) {
        
        if(num < 1)return "";
        int[] numbers = {1000,900,500,400,100,90,50,40,10,9,5,4,1};
        String[] roman = {"M","CM","D","CD","C","XC","L","XL","X","IX","V","IV","I"};
        StringBuilder res = new StringBuilder();
        
        for(int i=0;i= numbers[i]){
                num -= numbers[i];
                res.append(roman[i]);
            }
        }
        
        
        return res.toString();
    }

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

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

相关文章

  • Leetcode12 Integer to Roman

    摘要:解题思路其中每两个阶段的之间有一个减法的表示,比如,写在前面表示。所以映射关系应该是然后就是贪心的做法,每次选择能表示的最大值,把对应的字符串连起来。 Roman to Integer Given an integer, convert it to a roman numeral. Input is guaranteed to be within the range fro...

    CoorChice 评论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条评论

wqj97

|高级讲师

TA的文章

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