失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > leetCode-删除排序数组中的重复项

leetCode-删除排序数组中的重复项

时间:2024-05-20 08:12:31

相关推荐

leetCode-删除排序数组中的重复项

C语言

int removeDuplicates(int* nums, int numsSize){int i,j;//利用双指针if(numsSize == 0)return numsSize;for(i=0,j=1;j<numsSize;j++){if(nums[i]!=nums[j])nums[++i]=nums[j];}return numsSize = i+1;}

C++

class Solution {public:int removeDuplicates(vector<int>& nums) {int size = nums.size();int cnt = 0; //统计当前元素需要前移的位数,注意还是计数排序思想for(int i=1; i<size; ++i){if(nums[i] == nums[i-1])cnt++;nums[i-cnt] = nums[i]; //前移cnt个位置 }return size-cnt;}};

python

class Solution:def removeDuplicates(self, nums: List[int]) -> int:if not nums: return 0i = 0 for j in range(1, len(nums)):if nums[i] != nums[j]:i += 1nums[i] = nums[j]return i + 1

如果觉得《leetCode-删除排序数组中的重复项》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。