【问题标题】:Remove Duplicates from Sorted Array Using HashSet [closed]使用 HashSet 从排序数组中删除重复项 [关闭]
【发布时间】:2021-07-17 18:17:21
【问题描述】:

谁能帮忙解决我的代码出了什么问题?

class Solution {
public int removeDuplicates(int[] nums) {
    HashSet<Integer> hs = new HashSet<>();
  for(int i=0; i<nums.length; i++){
      hs.add(nums[i]);
  }
    Iterator<Integer> it = hs.iterator();
    int n = 0;
    while(it.hasNext()){
        n = it.next();
    }
    return n;
}

}

您的意见 [1,1,2] 输出 [1,1] 差异 预期的 [1,2]

【问题讨论】:

  • 如果它是排序数组,你可以在没有哈希集的情况下做到这一点
  • 为什么你的代码返回int?它不应该返回它创建的哈希集吗?
  • 这个“输出”是做什么的?该方法的返回值在任何表示中肯定不是 [1,1]。

标签: java hashset


【解决方案1】:

这有点像一个人走进森林,星星砍倒一棵树。

随着树倒下,男人说:“为什么我的面包不长起来?”

因为你在做完全不同的事情。

这段代码:

  • 将提供的数字数组中的每个项目添加到集合中。
  • 循环遍历集合,以便每次都用集合中的值覆盖单个变量 (n),这样做很愚蠢。
  • 然后它返回那个数字。
  • 它对传入的整数数组完全没有
  • 返回的数字不计算重复。

重新开始。您粘贴的代码与职位描述无关,因此解释此问题的唯一方法是“请为我编写一个删除重复项的方法”,我认为这超出了 Stack Overflow 的目的。

【讨论】:

  • 嗯,这对初学者来说有点苛刻。将数组加载到 Set 中并不是一个坏主意,尽管按照编写的方式,如果要对结果进行排序,它将发生冲突。然而,从那里去地狱....
猜你喜欢
  • 1970-01-01
  • 2016-10-01
  • 2021-11-12
  • 2021-01-27
  • 2016-01-24
  • 2022-01-03
  • 2021-11-27
  • 2021-12-12
  • 1970-01-01
相关资源
最近更新 更多