#关于LeetCode第26题的三种解法

发布时间:2026/10/22 10:47:47
#关于LeetCode第26题的三种解法 **关于LeetCode第26题的题解看到这题的第一想法就是不重复那不就可以用到set的自动去重因此直接选择遍历一遍数组之后将数组加到set中再将set转换为integer数组 之后由于题中数组是int类型那么再将integer数组转换为int数组最后将int数组排序后直接塞回题中数组则直接满足题目中要求的前n个数字替换并且不删除后续数字返回set的长度即可。**classSolution{publicintremoveDuplicates(int[]nums){SetIntegersetnewHashSet();for(inti0;inums.length;i){set.add(nums[i]);}Integer[]nums1set.toArray(newInteger[0]);int[]resultnewint[nums1.length];for(inti0;inums1.length;i){result[i]nums1[i];}Arrays.sort(result);for(inti0;inums1.length;i){nums[i]result[i];}returnset.size();}}当然这是我第一时间上想到的解法在思考之后该解法还能优化为LinkedHashMap则能够自动保持有序插入classSolution{publicintremoveDuplicates(int[]nums){SetIntegersetnewLinkedHashSet();for(intnum:nums)set.add(num);inti0;for(intnum:set){nums[i]num;}returnset.size();}}并且可以使用双指针法这是力扣官方解法classSolution{publicintremoveDuplicates(int[]nums){if(nums.length0)return0;intslow0;for(intfast1;fastnums.length;fast){if(nums[fast]!nums[slow]){slow;nums[slow]nums[fast];}}returnslow1;}}

关于本文作者

来自尧图内容编辑团队

尧图内容编辑团队 内容团队

尧图内容编辑团队

本文由尧图网络内容编辑团队执笔。团队由资深项目经理、前端工程师与设计师组成,所有内容均来自亲手交付的真实项目,先讲清问题、再给出可落地的解法。尧图深耕北京网站建设十年,服务过京华建材集团、智造科技等各行业客户,把一线经验沉淀为可复用的行业观察。

  • 十年建站经验,覆盖建材、制造、服务、文创等
  • 项目经理把关选题与事实准确性
  • 工程师与设计师联合撰写专业细节
  • 统一编辑规范,保证文风与排版一致
  • 每月复盘转化数据,迭代选题方向

延伸阅读

相关资讯与近期热门内容

深度阅读推荐

建站决策前值得细读的三篇

网站改版的5个关键决策
2024-08-12

网站改版的5个关键决策

什么时候该改版、改到什么程度、如何避免流量掉光,京华建材集团改版复盘给出答案。

获取专属建站方案

看完文章,把您的行业与预算告诉我们,免费获取一份量身定制的官网建设方案与报价。

立即免费咨询