首页 > 代码库 > leetcode第一刷_Remove Duplicates from Sorted Array II
leetcode第一刷_Remove Duplicates from Sorted Array II
水题。
我之前说过包含至多几个至少几个的问题都比较难,这个题可是让我大脸了。至多可以重复一次,那就重复次数多于两次再计算重复,否则的话像普通的数据一样直接按照重复次数前移就可以了嘛。不过说归说,这种inspace的思想还是有些用处的,数组这种实现方式致命的缺点就是删除或者添加中间的元素代价太大,因为不好把握数据的最终位置。这个题是一种情况,合并两个排序好的数组也是一个例子。
class Solution { public: int removeDuplicates(int A[], int n) { int past = A[0], due = 0, tpdue = 1; for(int i=1;i<n;i++){ if(A[i] == past){ tpdue++; if(tpdue>2){ due++; }else{ A[i-due] = A[i]; } }else{ past = A[i]; A[i-due] = A[i]; tpdue = 1; } } return n-due; } };
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。