算法练习——删除排序数组中的重复项

2021年1月21日练习为26. 删除排序数组中的重复项,这道题的思路主要是使用一个标记来标记重复元素出现的位置,然后将未重复的数放置到这个标记上,并向后移动标记,直到数组遍历完成,用一个临时变量保存上次的数字,不重复的时候将标记位赋值,并将这个数赋给临时变量进行下一次判断,最终返回标记位置就是最终的数组长度。代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
class Solution {
public int removeDuplicates(int[] nums) {
if(nums.length == 0) return 0;
int temp = nums[0], cur = 1;
for (int i = 1; i < nums.length; i++) {
if (temp == nums[i]) {
continue;
}
nums[cur] = nums[i];
temp = nums[i];
cur++;
}
return cur;
}
}

刷题这么多天了,热情确实开始逐渐下降了,可能是因为每日一题都有点超过能力范围了,不断的在选择简单的题目作为联系,避免自己因此放弃,同时也在不断学习数据结构知识,希望自己能够坚持下去,坚持就是胜利!