一、python相关知识
1、 迭代器
- 可以用作for循环的对象称为 Iterable
- 可以用next()函数不断取出下一个对象的称为 Iterator
- 可以使用iter()函数将list, dict, str 对象转换为Iterator.
- 用isinstance()函数查看是否为Iterator
二、算法相关
1、in-place algorithm
所有的操作必须进行 原地操作 意思是不允许使用一个临时变量来进行操作。比如说交换操作如果新建一个空变量来作为中间变量是不被允许的。
2、解题思路
设置两个指针(就是用一个跑的比较快的i和一个跑得比较慢的j)来进行删除操作。
- i 进行正常的扫描,当扫描发现当前数与后继数不一样时,设置nums[j] = nums[i]
- 如果相等则跳过
- 扫描结束后返回 j+1 的值