首页 > 其他 > 详细

80. Remove Duplicates from Sorted Array II

时间:2018-06-14 13:10:45      阅读:146      评论:0      收藏:0      [点我收藏+]

题目链接

题目大意:与26比较。删除数组中重复两次以上的数,剩下的数只有这种形式{1,1,2}。

法一:将重复2次以内的数都保留,重复2次以上的数都跳过删除,其中第一次遇见没有重复的数时,应该更新计数器。代码如下(耗时2ms):

技术分享图片
 1     public int removeDuplicates(int[] nums) {
 2         int k = 1;
 3         int cnt = 1;
 4         for(int i = 1; i < nums.length; i++) {
 5             //如果前后数相等
 6             if(nums[i] == nums[i - 1]) {
 7                 //查看重复次数是否在2的范围内
 8                 if(cnt < 2) {
 9                     nums[k++] = nums[i];
10                     cnt++;
11                 }
12                 else {
13                     cnt++;
14                 }
15             }
16             //如果前后数不想等,放心保留,将计数器重置
17             else {
18                 nums[k++] = nums[i];
19                 cnt = 1;
20             }
21         }
22         return k;
23     }
View Code

 

80. Remove Duplicates from Sorted Array II

原文:https://www.cnblogs.com/cing/p/9182224.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!