为了账号安全,请及时绑定邮箱和手机立即绑定

在哈希表上添加元素

在哈希表上添加元素

慕尼黑8549860 2022-12-09 16:52:01
我正在阅读 Grokking Algorithms,它给了我一个我无法在 Javascript 上复制的 Hash Map 的例子......这很简单,我唯一不知道的是如何将 ID 的值添加到“投票”变量var canVote = function(id) {  var voted = {};  for(let i = 0; i < id.length; i++) {    if(id in voted) {      console.log("ID already voted!");    } else {      voted[id] = id;      console.log("Voted successufully!")    }  }}var id = [10, 20, 20]canVote(id);
查看完整描述

1 回答

?
犯罪嫌疑人X

TA贡献2080条经验 获得超4个赞

Hash表的思想是查找一个值是否存在于O(1). 但是,如果你遍历一个n元素数组,你显然最终会进行n不断的操作,这会导致O(n).


此外,您使用的逻辑在循环迭代中存在缺陷。我在下面的代码中修改了它。请检查。


var canVote = function(id) {

    var voted = {};

    id.forEach(voteId=>{

        if(voted[voteId]){

            console.log("ID already voted!");

        }else{

            voted[voteId] = voteId;

            console.log("Voted successufully!")

        }

    })

}


var id = [10, 20, 20]

canVote(id);


查看完整回答
反对 回复 2022-12-09
  • 1 回答
  • 0 关注
  • 62 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信