博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Leetcode Remove Duplicates from Sorted Array II
阅读量:5037 次
发布时间:2019-06-12

本文共 939 字,大约阅读时间需要 3 分钟。

Follow up for "Remove Duplicates":

What if duplicates are allowed at most twice?

For example,

Given sorted array A = [1,1,1,2,2,3],

Your function should return length = 5, and A is now [1,1,2,2,3].

典型的两指针问题

两个指针指向初始位置,一个指针i开始遍历,记录出现相同数的个数

如果遍历的指针i等于其前面的指针index且cnt个数超过两个,则继续移动遍历的指针

如果遍历的指针i等于其前面的指针index且cnt个数恰好为2,则更新index指针

如果遍历的指针不等于其前面的指针index,则出现相同的数,更新index指针,且清零计数器

#include 
#include
#include
using namespace std;int removeDuplicates(int A[], int n){ if(n < 3) return n; int index = 0, cnt = 0; for(int i = 1; i < n; ++ i){ if(A[i] == A[index] && cnt < 2){ A[++index] = A[i]; cnt = 2; }else if(A[i] != A[index]){ A[++index] = A[i]; cnt =0 ; } } return index+1;}int main(){ int A[] = {
1,1,1,2,2,3}; cout<
<

 

转载于:https://www.cnblogs.com/xiongqiangcs/p/3801225.html

你可能感兴趣的文章
spring回滚数据
查看>>
新浪分享API应用的开发
查看>>
美国专利
查看>>
【JavaScript】Write和Writeln的区别
查看>>
百度编辑器图片在线流量返回url改动
查看>>
我对你的期望有点过了
查看>>
微信小程序wx:key以及wx:key=" *this"详解:
查看>>
下拉框比较符
查看>>
2.2.5 因子的使用
查看>>
css选择器
查看>>
photoplus
查看>>
Python 拓展之推导式
查看>>
[Leetcode] DP-- 474. Ones and Zeroes
查看>>
80X86寄存器详解<转载>
查看>>
c# aop讲解
查看>>
iterable与iterator
查看>>
返回顶部(动画)
查看>>
webpack+react+antd 单页面应用实例
查看>>
Confluence 6 SQL Server 数据库驱动修改
查看>>
Confluence 6 通过 SSL 或 HTTPS 运行 - 备注和问题解决
查看>>