下面都是滤重题目。
(25)Remove duplicate
给定一个数,给定一个数组,删除数组中的这个数,修改原数组使得新数组为去掉了这个数之后的剩下元素构成的数组并返回新数组的长度。通过交换来避免数组删除时的逐个移动,从而降低时间复杂度。
(26)Remove duplicate from sorted Array
排序数组滤重。考虑两种做法。
第1种常规,每次都同原数组中删除一个数组,然后需要逐个移动已删除元素后面的元素。时间复杂度为O(N²)
第2种聪明,不断地用不重复的元素生成新的数组。一边扫描原数组,一边判断是否是不重复的元素,如果否就丢弃,如果是,则就地原数组的空间上生成,时间复杂度为O(N)
(81)Remove duplicate from sorted Array2
排序链表滤重,对于重复元素,保留两个。思路和上面的(26)非常相似。
(83)