非洲购物网站排名,企业网站建设技术,实现微信绑定登录网站,wordpress目录魔板✨博客主页#xff1a;小钱编程成长记 #x1f388;博客专栏#xff1a;数据结构练习题 #x1f388;相关博文#xff1a;消失的数字 — 三种解法超详解 删除有序数组中的重复项 1.#x1f388;题目2. #x1f388;解题思路3. #x1f388;具体代码#x1f387;总结 1… ✨博客主页小钱编程成长记 博客专栏数据结构练习题 相关博文消失的数字 — 三种解法超详解 删除有序数组中的重复项 1.题目2. 解题思路3. 具体代码总结 1.题目 力扣链接
2. 解题思路 1.非严格递增的数组两个相邻元素相等或递增的数组 2. 因为要在原地删除重复的元素所以不能再创建数组以数组为跳板解决为题。 3. 我们可以用类似双指针的方法创建两个下标src和dest通过前后元素的对比若不同则将dest位置上的元素覆盖掉src后一个的重复的元素dest相同时dest 4. 举例如图 》src 和 dest上的元素相同dest 》不同时将dest位置上的元素覆盖掉src后一个的重复的元素dest 》相同时dest 》不同时将dest位置上的元素覆盖掉src后一个的重复的元素dest 3. 具体代码
int removeDuplicates(int* nums, int numsSize){int dest 1;//下标int src 0;while (dest numsSize) // 因为 MAX_dest 1 numsSize{if (nums[src] ! nums[dest]){// src;// nums[src] nums[dest];// dest;nums[src] nums[dest];}else{dest;}}return src 1;}总结 本篇文章我们解决了力扣上删除有序数组中的重复项这道题感谢大家的阅读大家一起进步 点赞收藏加关注C语言学习不迷路