计蒜客 难题题库 022 排序后的数组删除重复数字
2015-08-09 21:57
274 查看
1305次
21.6%
1000ms
65536K
给定升序排序的数组,如果数组有2个或2个以上相同的数字,去掉他们,直到剩下2个为止。
例如:
数组A[] = [1,1,1,2,2,3]
你的算法需要返回新数组的长度5,
此时A为[1,1,2,2,3].
格式:第一行输入一个不超过200的数字n,第二行输入A
,
最后输出新数组的长度。
输出:
21.6%
1000ms
65536K
给定升序排序的数组,如果数组有2个或2个以上相同的数字,去掉他们,直到剩下2个为止。
例如:
数组A[] = [1,1,1,2,2,3]
你的算法需要返回新数组的长度5,
此时A为[1,1,2,2,3].
格式:第一行输入一个不超过200的数字n,第二行输入A
,
最后输出新数组的长度。
样例1
输入:6 1 1 1 1 3 3
输出:
4
#include<iostream> using namespace std; int main(){ int n; cin >> n; if(n <= 2){ cout << n << endl; } int a, last_a, count = 1, res = 1; cin >> last_a; while(--n){ cin >> a; if(a == last_a){ if(++count <= 2){ ++res; } }else{ last_a = a; count = 1; ++res; } } cout << res << endl; }
相关文章推荐
- 机房合作感受
- 零基础学python-1.5 第一个程序
- IO流(二)字符流
- Hadoop 新增删除节点
- Cross Platform Note: STD C++ Preprocessor directives & pre-defined macros
- 零基础学python-1.5 第一个程序
- poj2524 并查集
- 计蒜客 难题题库 021 最大子阵列
- 0-1背包问题
- ==和equals()的区别
- 开发者,你是如何做到高效开发的
- 动态连接库 DLL 解释
- OpenCV的支持向量机SVM的程序
- java的反射原理与Spring的自动注入(转载)
- Java的垃圾回收机制笔记
- 2015阿里移动推荐算法大赛总结
- 2015华为校园招聘机试题+1道2013年网易校园招聘笔试题
- 回调函数中调用类中的非静态成员变量或非静态成员函数
- N皇后问题
- git学习之旅(六)——github远程服务器