前言
C 由C语言扩展升级而产生的计算机高级程序设计语言 ,本贾尼最早于1979年·斯特劳斯特卢普在AT&T研发贝尔工作室。 C 它不仅可以进行C语言的过程程序设计,还可以进行基于抽象数据类型的对象的程序设计,还可以进行具有继承和多态性的对象程序设计。C 擅长面向对象程序设计的同时,还可以进行基于过程的程序设计。 C 它具有计算机运行的实用特性,并致力于提高编程质量和程序设计语言的问题描述能力。
Java它不仅吸收了面向对象的编程语言C 语言的各种优势也被抛弃了C 多继承、指针等概念难以理解,所以Java语言有两个特点:功能强大,使用简单。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程 。 Java具有简单、面向对象、分布式、强度、安全性、平台独立性和可移植性、多线程、动态性等特点 。Java桌面应用程序可以编写,Web应用程序、分布式系统和嵌入式系统应用程序 。
Python吉多多是荷兰数学与计算机科学研究学会·范罗苏姆 于1990 年代初设计,作为一种叫做ABC语言替代品。Python为对象编程提供高效的高级数据结构。Python语法和动态类型,以及解释性语言的本质,使它成为大多数平台上编写脚本和快速开发应用程序的编程语言。随着版本的不断更新和新语言功能的增加,它逐渐被用于独立和大型项目的开发。 Python解释器易于扩展,可以使用C语言或C (或其他可以通过C调用的语言)扩展新的功能和数据类型。Python 也可用于可定制软件中的扩展程序语言。Python丰富的标准库为各主系统平台提供源代码或机器代码。 2021年10月,语言流行指数编译器Tiobe将Python加冕是20年来最受欢迎的编程语言Java、C和JavaScript之上。
描述
罗马数字包括以下七个字符:I,V,X,L,C,D和M。
字符 数值 I 1 V 5 X 10 L 50 C 100 D 500 M 1000 例如, 罗马数字 2 写做II,即两个并列 1 。12 写做XII,即为X II。 27 写做XXVII, 即为XX V II。
通常,罗马数字的中小数字在大数字的右侧。但也有特例,如 4 不写做IIII,而是IV。数字 1 在数字 5 左边的数字等于大数 5 减小数 1 得到的数值 4 。同样,数字 9 表示为IX。本特殊规则仅适用于以下六种情况:
I可以放在V(5) 和X(10) 左边,表示 4 和 9。 X可以放在L(50) 和C(100) 的左边,来表示 40 和90。 C可以放在D(500) 和M(1000) 左边,表示400 和900。 给定罗马数字,将其转换为整数。
示例1:
输入:s = "III" 输出: 3 示例2:
输入:s = "IV" 输出: 4 示例3:
输入:s = "IX" 输出: 9 示例4:
输入:s = "LVIII" 输出: 58 解释: L = 50, V= 5, III = 3. 示例5:
输入:s = "MCMXCIV" 输出: 1994 解释: M = 1000, CM = 900, XC = 90, IV = 4.
来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/roman-to-integer 作权归网络所有。商业转载请联系官方授权,非商业转载请注明出处。
class Solution { private: unordered_map<char, int> symbolValues = { {'I', 1}, {'V', 5}, {'X', 10}, {'L', 50}, {'C', 100}, {'D', 500}, {'M', 1000}, }; public: int romanToInt(string s) { int ans = 0; int n = s.length(); for (int i = 0; i < n; i) { int value = symbolValues[s[i]]; if (i < n - 1 && value < symbolValues[s[i 1]]) { ans -= value; } else { ans = value; } } return ans; } }; 作者:LeetCode-Solution 链接:https://leetcode-cn.com/problems/roman-to-integer/solution/luo-ma-shu-zi-zhuan-zheng-shu-by-leetcod-w55p/ 来源:力扣(LeetCode) 作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。