问题:存在重复
给定一个整数数组,判断是否存在重复元素。
如果任何值在数组中出现至少两次,函数返回 true。如果数组中每个元素都不相同,则返回 false。
示例 1:
输入: [1,2,3,1]
输出: true
示例 2:
输入: [1,2,3,4]
输出: false
示例 3:
输入: [1,1,1,3,3,4,3,2,4,2]
输出: true
js解决办法:
testCallFunc4: function() {
var sameTable = [1,1,1,3,3,4,3,2,4,2];
// var sameTable = [1,2,3,4];
var same = this.checkContainSameTable(sameTable);
cc.log("check contain same table: " + same);
},
// 思路:通过hash map判断重复数,复杂度O(n),感谢川南
checkContainSameTable: function(sameTable) {
var valueList = {};
for (var i = 0; i < sameTable.length; i++) {
if (valueList[sameTable[i]]) {
return true;
} else {
valueList[sameTable[i]] = true;
}
}
return false;
},
运行结果截图:
执行耗时: