【发布时间】:2017-02-01 18:07:47
【问题描述】:
我正在尝试检查两个整数是否包含相同的数字集合。
equivalent(123, 321) // -> true
equivalent(413, 1453) // -> false
equivalent(2002, 2200) // -> true
equivalent(542, 545) // -> false
我已经开始使用:
function equivalent(a,b) {
let stringA = a.toString().match(/[1-9]/g);
let stringB = b.toString().match(/[1-9]/g);
}
我不知道是否使用哈希映射来映射每个出现的数字并随之递增,但是我无法检查两个对象是否彼此相等。
哪种方法最优化(就空间/时间复杂度而言),哪种方法最容易阅读,或两者兼而有之?谢谢。
编辑:很抱歉没有详细说明我的问题。我想检查两个整数是否包含相同的数字和相同数量的数字。
【问题讨论】:
-
.toString().length会更容易吗? -
如果我理解正确的话,除了长度相同之外,它们中的数字也应该相同,对吧?
-
如果它总是正整数(即只有数字,没有逗号、小数点或负号),@j08691 的建议就是要走的路。
-
哦哦。 . .我明白你在说什么,@KapilKashyap。 . .所以“123”和“124”将是
false,因为数字不一样。哇 。 . .令人困惑的问题。
标签: javascript regex numbers