首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    整数转罗马数字

    通常情况下,罗马数字中小的数字在大的数字的右边。但也存在特例,例如 4 不写做 IIII,而是 IV。数字 1 在数字 5 的左边,所表示的数等于大数 5 减小数 1 得到的数值 4 。...给你一个整数,将其转为罗马数字。...罗马数字的唯一表示法 让我们从一个例子入手。考虑 140的罗马数字表示,下面哪一个是正确的? 我们用来确定罗马数字的规则是:对于罗马数字从左到右的每一位,选择尽可能大的符号值。...接下来,对于剩余的数字 40,最大可以选择的符号值为 XL=40。因此,140的对应的罗马数字为 C+XL=CXL。...方法一:模拟 思路 根据罗马数字的唯一表示法,为了表示一个给定的整数 num,我们寻找不超过 num的最大符号值,将 num减去该符号值,然后继续寻找不超过 num的最大符号值,将该符号拼接在上一个找到的符号之后

    21820

    罗马数字整数

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

    1.6K21

    罗马数字整数

    通常情况下,罗马数字中小的数字在大的数字的右边。但也存在特例,例如 4 不写做 IIII,而是 IV。数字 1 在数字 5 的左边,所表示的数等于大数 5 减小数 1 得到的数值 4 。...给定一个罗马数字,将其转换成整数。...提示: 1 <= s.length <= 15 s 仅含字符 ('I', 'V', 'X', 'L', 'C', 'D', 'M') 题目数据保证 s 是一个有效的罗马数字,且表示整数在范围 [1, 3999...关于罗马数字的详尽书写规则,可以参考 罗马数字 - Mathematics 。 通常情况下,罗马数字中小的数字在大的数字的右边。...若存在小的数字在大的数字的左边的情况,根据规则需要减去小的数字。对于这种情况,我们也可以将每个字符视作一个单独的值,若一个数字右侧的数字比它大,则将该数字的符号取反。 例如 可视作 。

    16720

    JS算法探险之整数

    从今天起,我们又重新开辟了一个新的领域:JS算法编程。为什么,会强调 JS 呢。其实,市面上不乏优秀的算法书和资料。...JS中查看一个正整数的「二进制格式」 (number).toString(2) number前后有括号,这涉及都JS优先级了 4. 用i>>1来计算"i/2",而且还是下取整。...用 i&1来计算 "i%2" 6. i&(i-1)将整数i的「最右边」的1变成0 ❞ 文章概要 整数除法 二进制加法 前 n 个数字二进制中 1 的个数 只出现一次的数字 知识点简讲 整数 由于,我们是针对算法的文章...二进制 JS中查看一个正整数的二进制格式 (number).toString(2) 例如:(3).toString(2) ==> '11' 在JS中, 用i>>1来计算"i/2" 例如:4>>1 ===...我们能从题目中挖掘的主要信息有: 正整数 0~n之间的数,也就是这些数字是「连续的」 i&(i-1) ❝利用i&(i-1)将整数i的「最右边」的1变成0 ❞ 整数i减去1,那么它最右边的1变成了0。

    2.1K10

    Python | 罗马数字整数

    问题描述 罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。...通常情况下,罗马数字中小的数字在大的数字的右边。但也存在特例,例如 4 不写做 IIII,而是 IV。数字 1 在数字 5 的左边,所表示的数等于大数 5 减小数 1 得到的数值 4 。...同样地,数字 9 表示为 IX。这个特殊的规则只适用于以下六种情况: I 可以放在 V (5) 和 X (10) 的左边,来表示 4 和 9。...给定一个罗马数字,将其转换成整数。输入确保在 1 到 3999 的范围内 解决方案 建立一个字典key为罗马字符,value为对应的数值,ans则为数值之和。...a = input("输入一个罗马数字:") ans = 0 dict1 = {"I": 1, "V": 5, "X": 10, "L": 50, "C": 100, "D": 500, "M":

    1.2K50

    leetcode-罗马数字整数

    通常情况下,罗马数字中小的数字在大的数字的右边。但也存在特例,例如 4 不写做 IIII,而是 IV。数字 1 在数字 5 的左边,所表示的数等于大数 5 减小数 1 得到的数值 4 。...给定一个罗马数字,将其转换成整数。输入确保在 1 到 3999 的范围内。...关于罗马数字的详尽书写规则,可以参考 罗马数字 - Mathematics 。...出处 链接:https://leetcode-cn.com/problems/roman-to-integer 思路 首先明确一下题意,输入一串字符串,输出一个整数。...前后两个元素比大小,如果前面的比后面的大,那么就把前面的加到结果,如果后面的比前面的大,那么就把后面的减去前面的加到结果中去,这里还是要讨论下特殊情况,当只有一个元素的时候,就可以直接返回了,除此之外,因为是整数

    62120
    领券