Leetcode打卡Day2
数组删重(python,c++)
题目:
//nums是以“引用”方式传递的。也就是说,不对实参做任何拷贝
int len=removeDuplicates(nums);
//在函数里修改输入数组对于调用者是可见的。
//根据你的函数返回的长度,它会打印出数组中该长度范围的所有元素。
for(int i=0;i<len;i++){
print(nums[i]);
}
method 1:c++求解
1.class Solution {
2. public:
3. int removeDuplicates(vector<int>& nums) {
4. if (nums.size()<2)
5. return nums.size(); int i,j=0;
6. for(i=0;i<nums.size();i++)
7. {
8. if(nums[i]!=nums[j]) ++j;
9. nums[j]=nums[i];
10. }
11. return j+1;
}
};
c++很简单很好写,运行效果也不错。
method 2:python
class Solution:
def removeDuplicates(self, nums: List[int]) -> int:
j=1
while j<len(nums):
if nums[j]==nums[j-1]:
del nums[j]
else:
j+=1
return len(nums)
python真是让我一言难尽,它用两个小时让我深刻的认识到缩进对齐的重要性。(>_<)!![哭了]
当然大佬们还让我掌握了三个函数:pop,remove,del的区别。
总结:python惹不起惹不起,只能把它供起来!
来源:CSDN
作者:weixin_46221120
链接:https://blog.csdn.net/weixin_46221120/article/details/104617288