|
|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 调皮博士 于 2017-2-10 12:20 编辑
- class Solution:
- """
- @param A: a list of integers
- @return an integer
- """
- #要求在不创建新数组的情况下去除原数组里相同的数字,并返回修改后长度
- def removeDuplicates(self, A):
- # write your code here
- #排除空列表的情况
- if A == []:
- return None
- #通过索引的方式查找
- for x in range(len(A)):
- #查看迭代时的初始情况
- print(x,len(A),A[x],A.count(A[x]))
- #当x超过列表A的长度后就退出循环,这一步还未细想,或需修改,但问题不大
- if x > len(A):
- break
- #如果一个数字在列表里的出现次数超过1次则执行。
- if A.count(A[x])>1:
- #由于排序列表的原因,相同的数字都会排在一起,
- #故用del切片的方法去除第2个以后相同的数字。
- del A[x+1:x+A.count(x)]
- #查看删除后列表的变化情况
- print(A)
- return len(A)
复制代码
结果如上,最后一步的print语句倒是执行了,然而del语句却不执行,哪位大神帮忙看看呗。
****忘了说了,这里的python是2.7版本的 |
|