从排序数组中删除重复项 Leetcode
Posted
技术标签:
【中文标题】从排序数组中删除重复项 Leetcode【英文标题】:Remove Duplicates from Sorted Array Leetcode 【发布时间】:2021-11-12 15:20:21 【问题描述】:下面是我的代码实现:
class Solution
public int removeDuplicates(int[] nums)
List<Integer> list = Arrays.stream(nums).boxed().collect(Collectors.toList());
Set<Integer> set = new LinkedHashSet<>(list);
return set.size();
删除重复项的最简单方法。但仍然没有被 leetcode 接受。
谁能帮我知道这个解决方案是否正确?如果是,那是什么问题?
【问题讨论】:
任务要求你做什么,你做到了吗? 您的返回值掩盖了您的任务只是返回重复项的事实 另外,LeetCode 没有论坛可以让你查找解决方案吗? 在标题中您询问“删除重复项”但在代码中您尝试以非常低效的方式计算唯一值。 leetcode 究竟要求你做什么? 如果:leetcode.com/problems/remove-duplicates-from-sorted-array 是您要解决的任务,请仔细阅读任务描述。你完全误解了它。提示:你不能用流来解决这个任务,改用普通的旧 for 循环。 【参考方案1】:public List<Integer> removeDuplicates(int[] nums)
return Arrays.stream(nums).boxed().distinct().collect(Collectors.toList());
您可以使用 Java Stream API 轻松完成。
这里有一些有用的链接:
Baeldung - The Java 8 Stream API Tutorial Java 8 - java.util.stream package docs【讨论】:
以上是关于从排序数组中删除重复项 Leetcode的主要内容,如果未能解决你的问题,请参考以下文章