LeetCode 26. 删除排序数组中的重复项 【时间击败100.00%】 【内存击败95.37%】

 
 
 1 public int removeDuplicates(int[] nums) {
 2         //返回值len的长度用++方便,因为填充一个值可能删除很多值
 3         //初始化为1,填充则len++
 4         int len = 1;
 5         OUT:
 6         for (int i = 0, p = 0; i < nums.length - 1; i++) {
 7             //注意是<,不是!=
 8             if (nums[i] < nums[i + 1]) {
 9                 len++;
10                 continue;
11             }
12             i++;
13             for (int j = i + 1; j <= nums.length; j++) {
14                 if (j == nums.length) break OUT;
15                 if (nums[i - 1] < nums[j]) {
16                     nums[i] = nums[j];
17                     len++;
18                     if (nums[i] >= nums[i + 1]) i++;
19                     else break;
20                 }
21             }
22         }
23         return len;
24     }

 

posted @ 2019-09-23 19:27  dodoBehind  阅读(140)  评论(0编辑  收藏  举报