https://www.lintcode.com/problem/remove-duplicates-from-sorted-array/description
描述
给定一个排序数组,在原数组中删除重复出现的数字,使得每个元素只出现一次,并且返回新的数组的长度。
不要使用额外的数组空间,必须在原地没有额外空间的条件下完成。
样例
给出数组A =[1,1,2],你的函数应该返回长度2,此时A=[1,2]。
直接看实现:
上面这个实现是“直观”的实现,循环从第二个数开始,查找下一个不等于前一个数的元素,内部循环结束后还需要判断是否找到。
这个实现判断太多,内部的while循环和后面的if判断是可以优化合并的。
更短的实现:
第一个实现是直觉实现,第二个实现则是更优的实现。
领取专属 10元无门槛券
私享最新 技术干货