【问题标题】:Dot product of two HashMaps in java? [closed]java中两个HashMap的点积? [关闭]
【发布时间】:2020-01-10 06:07:48
【问题描述】:

假设有如下两个HashMap:

HashMap<String, Integer> h1 = [{"a":1}, {"b":2}, {"c":3}];
HashMap<String, Integer> h2 = [{"k": 1}, {"f": 4}, {"g":5}, {"a":10}]

乘法就像一个简单的向量乘法,在这种情况下它会返回 1*10 + 2*0 + 3*0 = 10。

即如果键相同,则只将两个相应的值相乘。

Result -> 它应该返回一个整数

【问题讨论】:

  • 请分享您当前的解决方法。
  • 在下面的答案中解决了!
  • @ernest_k 我找不到方法所以我问了

标签: java algorithm hashmap


【解决方案1】:
int result = 0;
for(String s : h1.keySet()){
    if(h2.containsKey(s)){
        result = result + h2.get(s) * h1.get(s);
    }
}

【讨论】:

  • 如果有帮助请采纳答案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-01-25
  • 2012-09-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-04-29
相关资源
最近更新 更多