LEETCODE打卡02

Leetcode打卡Day2

数组删重(python,c++)
题目:
LEETCODE打卡02_第1张图片
LEETCODE打卡02_第2张图片

//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真是让我一言难尽,它用两个小时让我深刻的认识到缩进对齐的重要性。(>_<)!![哭了]
LEETCODE打卡02_第3张图片
当然大佬们还让我掌握了三个函数:pop,remove,del的区别。
LEETCODE打卡02_第4张图片
总结:python惹不起惹不起,只能把它供起来!

你可能感兴趣的:(leetcode)