LeetCode, 13. 罗马数字转整数, TypeScript题解.

在这里插入图片描述

题解:

  • 将字符串的罗马数字转换数字, 阅读题目, 发现一些特殊值, 这是有限考虑的,然后可以发现题目的已知条件是一个 映射表, 直接上map,
  • 根据给的字符串, 去除特殊的情况, 字符串修改, 返回答案

代码

function romanToInt(s: string): number {
  let result: number = 0
  let map: Map<string, number> = new Map()
  map.set('I', 1)
  map.set('V', 5)
  map.set('X', 10)
  map.set('L', 50)
  map.set('C', 100)
  map.set('D', 500)
  map.set('M', 1000)
  map.set('a', 4)
  map.set('b', 9)
  map.set('c', 40)
  map.set('d', 90)
  map.set('e', 400)
  map.set('f', 900)


  s = s.replace('IV', "a").replace('IX', 'b').replace('XL', 'c').replace('XC', 'd').replace('CD', 'e').replace('CM', 'f')


  for(let i =0 ;i<s.length; i++){
    result += map.get(s[i]) as number
  }

  return result
};

// console.log(romanToInt("IV"))

相关文章

我最大的一个关于TypeScript的问题是,它将原型的所有方法(无...
我对React很新,我正在尝试理解子组件之间相互通信的简洁方法...
我有一个非常简单的表单,我将用户电子邮件存储在组件的状态,...
我发现接口非常有用,但由于内存问题我需要开始优化我的应用程...
我得到了一个json响应并将其存储在mongodb中,但是我不需要的...
我试图使用loadsh从以下数组中获取唯一类别,[{"listing...