[LeetCode] 80. Remove Duplicates from Sorted Array II

【原题】 Follow up for “Remove Duplicates”: What if duplicates are allowed at most twice?

For example, Given sorted array nums = [1,1,1,2,2,3],

Your function should return length = 5, with the first five elements of nums being 1, 1, 2, 2 and 3. It doesn’t matter what you leave beyond the new length. 【解释】 作为删除数组中重复元素的进化版,要求最后目标数组中最多只能有每个元素最多重复两次。 【思路】 在Remove Duplicates from Sorted Array一题中,我们只需要记录目标数组下一个该插入的位置,让后续符合要求的元素插入该位置即可。利用同样的思想,只是在比较的时候不是和前一个元素比较,而是前两个元素。

public int removeDuplicates(int[] nums) {
        int pos=0;//记录下一个插入的位置
        for(int i=0;i<nums.length;i++){
            if(i<2||nums[i]>nums[pos-2])//和前两个元素比较
                nums[pos++]=nums[i];
        }
        return pos;//犹豫pos从零开始,所以最后即为目标数组的长度
    }

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏数据小魔方

左右用R右手Python系列——字符串格式化输出

学习Python不到一个月,虽然学的很渣,但是还是想通过这种途径分享自己的学习心得,毕竟当初学习R语言也是这么走过来的。 今天是R语言与Python综合系列的第...

4146
来自专栏web前端教室

重学javascript 红皮高程(4)

继续啊,顺着JS高程的目录往下走,今天是3.4.4 Boolean类型。 这个Boolean一般来说它只有二个值,true和false。但其实它还有第三种值, ...

1899
来自专栏PingCAP的专栏

TiDB 源码阅读系列文章(十三)索引范围计算简介

在数据库中处理查询请求时,如果可以尽早的将无关数据过滤掉,那么后续的算子就可以少做无用功,提升整个 SQL 的执行效率。过滤数据最常用的手段是使用索引,TiDB...

1414
来自专栏韦弦的微信小程序

Swift 数数并说 - LeetCode

1 被读作 "one 1" ("一个一") , 即 11。 11 被读作 "two 1s" ("两个一"), 即 21。 21 被读作 "one 2",...

522
来自专栏PPV课数据科学社区

【工具】Python正则表达式的七个使用范例

? 作为一个概念而言,正则表达式对于Python来说并不是独有的。但是,Python中的正则表达式在实际使用过程中还是有一些细小的差别。 本文是一系列关于Py...

3299
来自专栏python学习之旅

算法学习笔记(三):冒泡排序和归并排序

913
来自专栏WD学习记录

LeetCode Median of Two Sorted Arrays

There are two sorted arrays nums1 and nums2 of size m and n respectively.

711
来自专栏老码农专栏

原 荐 OSGL 工具库 - Java 字串

1454
来自专栏决胜机器学习

PHP数据结构(二十五) ——并归排序

PHP数据结构(二十五)——并归排序 (原创内容,转载请注明来源,谢谢) 一、概述 并归排序是将两个或两个以上的有序表组合成一个新的有序表。采用并归的思想进...

3498
来自专栏C语言C++游戏编程

世界最强的编程语言:C语言

char:字符型,用来存储小范围的整数(-128~127)和字符(所有的ASCII字符,128个),一个字节。

612

扫码关注云+社区