Java 罗马数字转整数17 Mar 2025 | 4 分钟阅读 这是一个在 Google、Amazon、TCS、Accenture 等顶级 IT 公司面试中经常出现的问题。通过解决这个问题,面试官想考察面试者的逻辑能力、批判性思维和解决问题的能力。因此,在本节中,我们将讨论 如何在 Java 中使用不同的方法和逻辑将罗马数字转换为整数。此外,我们还将为之创建 Java 程序。 ![]() 罗马数字罗马数字是数字的符号表示。它们通常用于钟表盘、音乐理论等。有 七个 字母用于表示罗马数字。下表表示罗马数字和相应的十进制值。
罗马数字通过连接符号并添加各自的值来形成。它们通常从左到右以从大到小的顺序书写。 然而,整数 4 的罗马数字不是 IIII;相反,它被写成 IV。这意味着当一个较小的数字放在一个较大的数字之前时,这些值是相减的;因为 1 放在 5 之前,我们可以相减得到 4。 同样的原则适用于数字 9,它被写成 IX。 有六种情况需要减法
示例 1假设,我们必须将罗马数字 MCMXC 转换为整数。为了获得整数值,我们将写出每个罗马数字的相应值并求和。因此,我们得到 M=1000, C=100, M=1000, X=10, C=100 M=1000 CM=1000-100 = 900 XC=100-10 = 90 故, M=1000, CM=900, XC=90 = 1990 因此,MCMXC 等于 1990。 让我们看另一个例子。 示例 2考虑罗马数字 LVIII。 L=50, V=5, III=8 L+V+III = 50+5+3 = 58 算法
让我们在 Java 程序中实现上述步骤。 Java 程序将罗马数字转换为 Java 中的整数RomanToInteger1.java 输出 The corresponding Integer value is: 1155 复杂度上述方法的时间和空间复杂度为 O(n),其中 n 是给定罗马数字字符串的长度。 让我们看看相同的另一个解决方案。 RomanToInteger2.java 输出 The corresponding Integer value is: 1915 复杂度上述方法的时间复杂度为 O(n),其中 n 是给定罗马数字字符串的长度,空间复杂度为 O(1)。 |
我们请求您订阅我们的新闻通讯以获取最新更新。