当前位置: 首页 > news >正文

LeetCode题解:13. 罗马数字转整数,哈希表,JavaScript,详细注释

原题链接:13. 罗马数字转整数

解题思路:

  1. 本题涉及到的罗马数字都是唯一的,因此可以创建一个哈希表,存储罗马数字和整数的对应关系。
  2. 遍历s,分别截取从i开始的2位和1位字符串,查看其在哈希表中的罗马数字对应的整数,将其加和到结果中。
/*** @param {string} s* @return {number}*/
var romanToInt = function (s) {// 创建罗马数字与整数的对应关系,可以看到它们互相是不重复的// 每次只需要截取s中的部分字符,在Map中查询对应的整数即可const map = new Map([['M', 1000],['CM', 900],['D', 500],['CD', 400],['C', 100],['XC', 90],['L', 50],['XL', 40],['X', 10],['IX', 9],['V', 5],['IV', 4],['I', 1],])// 储存结果let result = 0// 遍历s,查询罗马数字对应的整数for (let i = 0; i < s.length; ) {// 截取两个字符,查看是否满足两位罗马数字if (map.has(s.substr(i, 2))) {// 将对应的整数加和到resultresult += map.get(s.substr(i, 2))// 计算了2位罗马数字,指针向后移动2位i += 2} else {// 将对应的整数加和到结果result += map.get(s.substr(i, 1))// 计算了1位罗马数字,指针向后移动1位i += 1}}return result
}
http://www.lryc.cn/news/241554.html

相关文章:

  • GPT2-chitchat项目运行
  • selinux-policy-default(2:2.20231119-2)软件包内容详细介绍(3)
  • Spring boot @Bean
  • ptpd2提示failed to join the multicast group (strerror: No buffer space available)
  • 工业级5G路由器:稳定性更高,网络速度更快!
  • 移动应用程序管理的内容、原因和方式
  • Revive开发商加入VR开源标准OpenXR
  • Lambda 重构面向对象的设计模式
  • element ui 上传组件实现手动上传
  • 怎样提升伦敦银买卖技巧?
  • MySQL的体系结构与SQL的执行流程
  • 数学建模之拟合及其代码
  • GeoTrust SSL数字安全证书介绍
  • 【C++上层应用】5. 文件和流
  • JAVA爬虫1 - HttpClient的使用
  • NX二次开发UF_CSYS_map_point 函数介绍
  • Spring Web MVC
  • Debian系列的Linux发行版上部署wvp
  • 无人智能柜:经营成本低,运维智能化
  • java.lang.UnsupportedOperationException 关于Arrays.asList问题解决
  • 2023.11.23 云服务器实现 Spring Boot 项目文件上传并访问
  • SAP实现多个统御科目:特殊总账SGL+备选统驭科目Alternative Reconciliation Accounts
  • 【数据分享】2023年我国省市县三级的瞪羚企业数量(免费获取/Excel/Shp格式)
  • 用于计算机屏幕安全摄像头系统:Screen Anytime Crack
  • Redis深入理解-Socket连接建立流程以及文件事件处理机制
  • Docker run 命令
  • Vue中的$nextTick的作用
  • 浅谈Linux bash脚本----getopts获取脚本POSIX标准传参
  • PyCharm玩转ESP32
  • uniapp自定义导航栏返回按键