描述:给定一个排序数组,在原数组中删除重复出现的数字,使得每个元素只出现一次,并且返回新的数组的长度。
不要使用额外的数组空间,必须在原地没有额外空间的条件下完成。
样例
给出数组A =[1,1,2],你的函数应该返回长度2,此时A=[1,2]。
我的代码:
答案显示输出是对的,但是还是报错。50%;不知道错在哪儿了。
标准答案:
答案利用了数组原本已经排好序的特点,说实话比我的答案强。不知道是不是因为我调用了排序函数,增加了空间负担的原因。总之这么一道难度为简单的题目,对我来说都不算容易。直感叹自己还很弱小,静心练习!
刚才再想了一下,发现我出错在一个细节,Arrays.sort(nums,0,tmp),这个点取错了,改正后还是报错,显示时间代价太大了。于是我把排序放到最后做。成功了。还是有些成就感的,成功和失败仅仅一字之隔。而且我的算法可以对乱序数组删除重复项。虽然比标答麻烦些,但是也实用性更广。