算法练习——排序后的数组删除重复数字
2017-10-23 23:14
363 查看
给定升序排序的数组,如果数组有 22 个或 22 个以上相同的数字,去掉他们,直到剩下 22 个为止。
例如:
数组 A[]
= [1,1,1,2,2,3]A[]=[1,1,1,2,2,3]
你的算法需要返回新数组的长度 55,
此时 AA 为 [1,1,2,2,3][1,1,2,2,3]。
A[n]。
例如:
数组 A[]
= [1,1,1,2,2,3]A[]=[1,1,1,2,2,3]
你的算法需要返回新数组的长度 55,
此时 AA 为 [1,1,2,2,3][1,1,2,2,3]。
输入格式
第一行输入一个不超过 200200 的数字 nn,第二行输入 AA[n]。
输出格式
输出新数组的长度。样例输入
6 1 1 1 1 3 3
样例输出
4#include<cstdio> #include<algorithm> using namespace std; static const int MAX=200; int main() { int n,A[MAX],result=0; int p=0,r=0; scanf("%d",&n); for(int i=0;i<n;i++) scanf("%d",&A[i]); while(p<n&&r<n) { while(A[p]==A[r]&&r<n) { r++; } if(p-r>2||p-r==2) result+=2; else result++; p=r; } printf("%d",result); }
相关文章推荐
- 删除排序数组中的重复数字 II
- 题目:删除排序数组中的重复数字 II
- 删除排序数组中的重复数字
- LintCode 删除排序数组中的重复数字 II
- LintCode(100)删除排序数组中的重复数字
- 删除排序数组中的重复数字
- LintCode 第100题 删除排序数组中的重复数字
- lintcode-删除排序数组中的重复数字II-101
- LintCode-删除排序数组中的重复数字 II
- 删除排序数组中的重复数字 II
- 删除排序数组中的重复数字
- 100 - 删除排序数组中的重复数字
- 初级算法-数组-从排序数组中删除重复项
- 删除排序数组中的重复数字
- [Lintcode] #101 删除排序数组中的重复数字 II
- 删除排序数组中的重复数字
- 计蒜客题目 排序后的数组删除重复数字
- 删除排序数组中的重复数字
- lintcode ----删除排序数组中的重复数字
- 删除排序数组中的重复数字 II