每日一题之LeetCode移除元素删除有序数组重复元素

  
 <代码>这两道题若是不使用官方题解的双指针做法,就会涉及到浅复制,深复制的问题,可参考如下https://blog.csdn.net/qq_32907349/article/details/52190796。其中,此题将要使用深复制,但这会违背题意中的不开辟新的内存空间。 
  

1。移除元素类解决方案:

def removeElement(自我,num, val):
我的j=0
范围(0,len (num)):

  
 <代码>如果(num [j] !=val):
  
  num[我]=num [j]
  我+ 1=在num k[0:我):
  打印(k)
  返回我 
  

使用了深复制:
进口复制类解决方案:

def removeElement(自我,num, val):

  
 <代码> _nums=copy.deepcopy (num)
  _nums num的:
  如果num==val:
  nums.remove (num)
  长度=len (num)
  代码返回长度,num  之前
  

2。删除有序数组重复元素类解决方案:

def removeDuplicates(自我,num):
=0
披散下来=len (num)
j的范围(长度):
如果num [j] !=num[我]:
我+ 1=
num[我]=num [j] .

  
 <代码> k在num (0: i + 1):
  打印(k)
  
  返回i + 1  
  

注释:其中将完成操作的新数组也进行了输出

每日一题之LeetCode移除元素删除有序数组重复元素