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

    13.罗马数字整数(Java

    LeetCode-13.罗马数字整数 1、题目描述 罗马数字包含以下七种字符: I:1, V:5, X:10, L:50,C:100,D:500 和 M:1000。...通常情况下,罗马数字中小的数字在大的数字的右边。 但也存在特例,例如 4 不写做 IIII,而是 IV。 数字 1 在数字 5 的左边,所表示的数等于大数 5 减小数 1 得到的数值 4 。...计算罗马数字代表的总和 3、Java实现 class Solution { public int romanToInt(String s) { int sum = 0; for...break; } } return sum; } } 4、解题记录 最初使用C语言实现,但过程中由于出现数组下标溢出的问题无法在LeetCode上通过运行,所以转而使用Java...在使用java语言实现的过程中,只考虑了解决题目,对于优化方面,代码的简化方面做的不够好,需进一步加强练习。 本次解题所占时间和空间如下所示。

    21610

    罗马数字整数(java)

    通常情况下,罗马数字中小的数字在大的数字的右边。但也存在特例,例如 4 不写做 IIII,而是 IV。...数字 1 在数字 5 的左边,所表示的数等于大数 5 减小数 1 得到的数值 4 。        同样地,数字 9 表示为 IX。...所以总结下来的规律就是,如果罗马数字中小的数字在大的数字的右边,若该字符串满足该情况,那么可以将每个字符视作一个单独的值,累加每个字符对应的数值即可。 ...若罗马数字中存在小的数字在大的数字的左边的情况,则需减去这小的数字。对于这种情况,我们也可以将每个字符视作一个单独的值,若一个数字右侧的数字比它本身大,则直接减去该数即可。  ...,然后通过遍历获取每一个罗马数字所对应的map值,二是考虑罗马数字右边是否比自己大,比自己大就相加,比自己小就相减,把握住这个规律即可轻松解题。

    18020

    你真的了解Java中的负数

    一、Java中如何编码负数?     Java采用”2的补码“(Two's Complement)编码负数,它是一种数值的编码方法,要分二步完成:第一步,每一个二进制位都取相反值,0变成1,1变成0。...三、Java类型转换规则 1....Java中整型字面量  Java中int型字面量的书写方式有以下几种:     - 十进制方式,直接书写十进制数字     - 八进制方式,格式以0打头,例如012表示十进制10     - 十六进制方式...这样不管b是正数还是负数,转换成char时,都相当于是在左边补上8个0,即进行零扩展而不是符号扩展。  ...六、小结     实际上在数值类型转换时,只有当遇到负数时才会出现问题,根本原因就是Java中的负数不是采用直观的方式进行编码,而是采用“2的补码”方式,这样的好处是加法和减法操作可以同时使用加法电路完成

    2.9K120

    整数罗马数字

    通常情况下,罗马数字中小的数字在大的数字的右边。但也存在特例,例如 4 不写做 IIII,而是 IV。数字 1 在数字 5 的左边,所表示的数等于大数 5 减小数 1 得到的数值 4 。...给你一个整数,将其转为罗马数字。...前言 罗马数字符号 罗马数字由 7 个不同的单字母符号组成,每个符号对应一个具体的数值。此外,减法规则(如问题描述中所述)给出了额外的 6个复合符号。...罗马数字的唯一表示法 让我们从一个例子入手。考虑 140的罗马数字表示,下面哪一个是正确的? 我们用来确定罗马数字的规则是:对于罗马数字从左到右的每一位,选择尽可能大的符号值。...接下来,对于剩余的数字 40,最大可以选择的符号值为 XL=40。因此,140的对应的罗马数字为 C+XL=CXL。

    21820

    罗马数字整数

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

    1.6K21

    罗马数字整数

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

    16720
    领券