> 文章列表 > 【快乐手撕LeetCode题解系列】——删除有序数组中的重复项

【快乐手撕LeetCode题解系列】——删除有序数组中的重复项

【快乐手撕LeetCode题解系列】——删除有序数组中的重复项

【快乐手撕LeetCode题解系列】——删除有序数组中的重复项😎

  • 前言🙌
    • 删除有序数组中的重复项🙌
      • 画图分析:😍
      • 思路分析:😍
      • 源代码分享:😍
  • 总结撒花💞


追梦之旅,你我同行

   
😎博客昵称:博客小梦
😊最喜欢的座右铭:全神贯注的上吧!!!
😊作者简介:一名热爱C/C++,算法等技术、喜爱运动、热爱K歌、敢于追梦的小博主!

😘博主小留言:哈喽!😄各位CSDN的uu们,我是你的博客好友小梦,希望我的文章可以给您带来一定的帮助,话不多说,文章推上!欢迎大家在评论区唠嗑指正,觉得好的话别忘了一键三连哦!😘
在这里插入图片描述

前言🙌

    哈喽各位友友们😊,我今天又学到了很多有趣的知识现在迫不及待的想和大家分享一下!😘我仅已此文,和大家分享【快乐手撕LeetCode题解系列】——删除有序数组中的重复项~ 都是精华内容,可不要错过哟!!!😍😍😍

删除有序数组中的重复项🙌

题目内容
【快乐手撕LeetCode题解系列】——删除有序数组中的重复项

画图分析:😍

【快乐手撕LeetCode题解系列】——删除有序数组中的重复项

思路分析:😍

  • 首先先认真阅读题目,从时间复杂度和空间复杂度上寻找最佳解题算法。
  • 定义两个指针。一开始时,dst指向数组首元素,src指向后一个元素。
  • 如果src指向的元素和dst指向的元素相同,那么就只需src++,dst不动。
  • 反之,则先让dst++,再让src指向的元素赋值给dst所指向的元素。然后再让src++。重复执行上述操作。当src > numSize (数组的个数)时,就可以终止掉循环,因为已经遍历完数组了。
  • 最后返回的是dst + 1,因为下标比元素个数少1。

源代码分享:😍

int removeDuplicates(int* nums, int numsSize)
{int src = 1;int dst = 0;while(src < numsSize){if(nums[src] == nums[dst]){src++;}else{dst++;nums[dst] = nums[src];src++;}}return dst + 1;
}

程序输出结果验证: 😊
【快乐手撕LeetCode题解系列】——删除有序数组中的重复项

总结撒花💞

   本篇文章旨在分享【快乐手撕LeetCode题解系列】——删除有序数组中的重复项。希望大家通过阅读此文有所收获!😘如果我写的有什么不好之处,请在文章下方给出你宝贵的意见😊。如果觉得我写的好的话请点个赞赞和关注哦~😘😘😘