排序后的数组删除重复元素--计蒜课
2018-02-06 19:35
471 查看
给定升序排序的数组,如果数组有 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]。
第一行输入一个不超过 200200 的数字 nn,第二行输入 A
A[n]。
输出新数组的长度。
样例输出
代码:
#include<iostream>
using namespace std;
int main()
{
int n,a[210];
cin>>n;
for(int i=0;i<n;i++)
{
cin>>a[i];
}
int count=n;
for(int i=1;i<n-1;i++)
{
if(a[i-1]==a[i]&&a[i]==a[i+1])
{
count--;
}
}
cout<<count<<endl;
return 0;
}这一题其实很简单的,一个循环,判断一个元素是不是出现多于两次,如果多于两次,按两次来算。先把输入的数的个数记作count,如果出现一个多余的数就减一。
例如:
数组 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<iostream>
using namespace std;
int main()
{
int n,a[210];
cin>>n;
for(int i=0;i<n;i++)
{
cin>>a[i];
}
int count=n;
for(int i=1;i<n-1;i++)
{
if(a[i-1]==a[i]&&a[i]==a[i+1])
{
count--;
}
}
cout<<count<<endl;
return 0;
}这一题其实很简单的,一个循环,判断一个元素是不是出现多于两次,如果多于两次,按两次来算。先把输入的数的个数记作count,如果出现一个多余的数就减一。
相关文章推荐
- [Leetcode] Remove duplicates from sorted array 从已排序的数组中删除重复元素
- 删除排序数组中的重复元素(三种方法的比较)
- iOS数组的去重,判空,删除元素,删除重复元素 model排序 等
- LeetCode: Remove Duplicates from Sorted Array II(在排序数组中删除重复元素)
- 在一个排序数组里面删除重复元素
- 【LeetCode-面试算法经典-Java实现】【026-Remove Duplicates from Sorted Array(删除排序数组中的重复元素)】
- 给定一个排序数组,删除重复的位置,使每个元素只出现一次,并返回新的长度。
- 关于数组的.sort()方法案例:删除数组中重复的元素并排序
- 删除已排序数组中的重复元素
- [Leetcode] Remove duplicates from sorted array ii 从已排序的数组中删除重复元素
- 删除数组中重复出现的元素,只留下一个,排序后输出
- LintCode(easy)删除排序数组中重复元素
- 删除排序数组中的重复元素
- 删除排序数组中的重复元素
- 删除排序数组中重复的元素
- 【Leetcode】从排序数组中删除重复元素
- LintCode【简单】100. 删除排序数组中的重复数字。代码及思路
- LintCode【简单】101. 删除排序数组中的重复数字 II。代码及思路
- LintCode 删除排序数组中的重复数字
- JavaScript之删除数组中重复元素的方法