LeetCode | 26. 删除有序数组中的重复项

简介: LeetCode | 26. 删除有序数组中的重复项

LeetCode | 26. 删除有序数组中的重复项

OJ链接

  • 这里的非递增是什么意思?
  • 就是反过来的,递减,不能说是乱序~~
  • 也就是后一个比前一个小
  • 也就是和非递减等价,后一个比前一个大~~

  • 所以非递增和非严格递增是不一样的~~

  • 这里本质上的一个算法是去重算法,就是要把重复的去掉,只留下一个~~

思路:

  • 本质是dst在后面依次找 跟src位置不相等,依次从前往后覆盖~~

代码如下:

int removeDuplicates(int* nums, int numsSize){
    int src = 0;
    int dst = 1;
    while(dst < numsSize)
    {
        if(nums[src]!=nums[dst])
        {
            nums[++src] = nums[dst++];
        }
        else
        {
            ++dst;
        }
    }
    return src + 1;
}
相关文章
|
1月前
|
算法
LeetCode刷题---167. 两数之和 II - 输入有序数组(双指针-对撞指针)
LeetCode刷题---167. 两数之和 II - 输入有序数组(双指针-对撞指针)
|
1月前
|
存储 C语言
【C语言】Leetcode 88.合并两个有序数组
【C语言】Leetcode 88.合并两个有序数组
25 0
【C语言】Leetcode 88.合并两个有序数组
|
1月前
|
存储
【合并两个有序数组】LeetCode第88题讲解
【合并两个有序数组】LeetCode第88题讲解
|
12天前
【力扣】80.删除有序数组中的重复项Ⅱ
【力扣】80.删除有序数组中的重复项Ⅱ
|
24天前
|
存储
【力扣经典面试题】80. 删除有序数组中的重复项 II
【力扣经典面试题】80. 删除有序数组中的重复项 II
|
1月前
LeetCode刷题---80. 删除有序数组中的重复项 II(双指针)
LeetCode刷题---80. 删除有序数组中的重复项 II(双指针)
|
1月前
LeetCode刷题---26. 删除有序数组中的重复项(双指针)
LeetCode刷题---26. 删除有序数组中的重复项(双指针)
|
2月前
|
Java
LeetCode题解-合并K个有序数组-Java
合并K个有序数组-Java
11 0
|
30天前
|
机器学习/深度学习 算法
力扣刷题日常(一)
力扣刷题日常(一)
20 2
|
1月前
|
存储 索引
《LeetCode》—— LeetCode刷题日记
《LeetCode》—— LeetCode刷题日记