首页
学习
活动
专区
圈层
工具
发布

整数转罗马数字

罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。...给你一个整数,将其转为罗马数字。...前言 罗马数字符号 罗马数字由 7 个不同的单字母符号组成,每个符号对应一个具体的数值。此外,减法规则(如问题描述中所述)给出了额外的 6个复合符号。...罗马数字的唯一表示法 让我们从一个例子入手。考虑 140的罗马数字表示,下面哪一个是正确的? 我们用来确定罗马数字的规则是:对于罗马数字从左到右的每一位,选择尽可能大的符号值。...方法一:模拟 思路 根据罗马数字的唯一表示法,为了表示一个给定的整数 num,我们寻找不超过 num的最大符号值,将 num减去该符号值,然后继续寻找不超过 num的最大符号值,将该符号拼接在上一个找到的符号之后

1.5K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    罗马数字转整数

    题目 难度级别:简单 罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。...通常情况下,罗马数字中小的数字在大的数字的右边。但也存在特例,例如 4 不写做 IIII,而是 IV。数字 1 在数字 5 的左边,所表示的数等于大数 5 减小数 1 得到的数值 4 。...给定一个罗马数字,将其转换成整数。输入确保在 1 到 3999 的范围内。...关于罗马数字的详尽书写规则,可以参考 罗马数字 - Mathematics。 初始思路 这是我刚拿到这道题的思路,首先将所有可能组成得值写为一个转化方法。...之后将给定的罗马数字字符串转化成数组,进行一次循环,用一个对象存储循环出的罗马数字的值、和罗马数字对应的整数的值,以及一个布尔值(用于表示这个值是否会与下一个值形成一个新的值)。

    2.2K21

    【leetcode】13:罗马数字转整数

    给定一罗马数字,将其转为整数。输入确保在 1 到 3999 的范围内。...解答 这道题还昨天那道可以说是差不多一样的,昨天是整数转罗马,今天是罗马转整数,没看过的或许可以看下:【leetcode】12:整数转罗马数字 我们把这些字符一个一个判断就可以了,例如遇到 V 就加 5...s.charAt(i) == 'I') { num += 1; i++; } return num; } 昨天那道整数转罗马数字的简化版的代码我给弄错了...今天这道题的简化版绝对不会错的了,简化版如下: //更加简便的方法 public static int romanToInt2(String s){ // 这个函数是将单个罗马字符转换为数字...sum = sum + charToInt(s.charAt(i)); } } return sum; } // 这个函数是将单个罗马字符转换为数字

    80640
    领券