从排序数组中删除重复项 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的主要内容,如果未能解决你的问题,请参考以下文章

LeetCode从排序数组中删除重复项

Leetcode-探索 | 从排序数组中删除重复项

leetcode--数组题1:从排序数组中删除重复项

java [26。从排序数组中删除重复项] #Leetcode #array #double pointers

leetcode 从排序数组中删除重复项

前端与算法 leetcode 26. 删除排序数组中的重复项