您的位置:首页 > 其它

remove duplicates from sorted array

2015-12-30 11:34 302 查看
将有序数组中重复的数字去掉,返回新的数组长度。

乍一看,这道题很简单。想法:从前往后比较,如果两个数字相等,则后一个数字等于它本身的后一个数并且此时len--;最后返回len。但是这样做有一个问题:如果是数组的最后一个与前面的数相等,则此时,会溢出,会取到数组之外的一个数。

所以应该转换思路:考虑两个数不等的情况,并且在同一个数组中,记录下不相等的数字。

如果是一个无序数组中去掉相同的数字,并且空间复杂度为O(1)。。可以使用排序方法(比如快速排序)将数组变成一个有序的,然后按照上面的方法。。(但是这样做也许会超时)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: