SDUT 离散题目2 判断一个集合元素是否重复
2017-03-27 22:51
459 查看
离散题目2
Time Limit: 1000MS Memory Limit: 65536KB
Submit Statistic
Problem Description
DaYu是一个喜欢看电影的好孩子,他的电脑里有成千上万部电影。因为某些不可描述的原因,他把这些电影以互不相同的编号命名(编号是数字且范围在(0,1000000)之间)。因为电影实在太多,他记不住自己已经看过了哪些电影。现在他把他看电影的记录给你,请你帮他检查一下他有没有看重复的电影。如果没有,输出“true”,否则输出“false”。
Input
第一行输入组数T(T<1000),每组的第一行输入他看的电影数量n(0 < n < 1000000),第二行输入n个数字,分别是每一部电影的编号。
Output
对于每组数据,如果没有重复的,那么输出true,否则输出false。
Example Input
2
5
1 2 3 4 5
5
1 2 3 4 4
Example Output
true
false
Time Limit: 1000MS Memory Limit: 65536KB
Submit Statistic
Problem Description
DaYu是一个喜欢看电影的好孩子,他的电脑里有成千上万部电影。因为某些不可描述的原因,他把这些电影以互不相同的编号命名(编号是数字且范围在(0,1000000)之间)。因为电影实在太多,他记不住自己已经看过了哪些电影。现在他把他看电影的记录给你,请你帮他检查一下他有没有看重复的电影。如果没有,输出“true”,否则输出“false”。
Input
第一行输入组数T(T<1000),每组的第一行输入他看的电影数量n(0 < n < 1000000),第二行输入n个数字,分别是每一部电影的编号。
Output
对于每组数据,如果没有重复的,那么输出true,否则输出false。
Example Input
2
5
1 2 3 4 5
5
1 2 3 4 4
Example Output
true
false
#include<cstdio> #include<set> using namespace std; int main() { set<int> a;//重复的元素不会继续存进去 int t; scanf("%d", &t); while(t--) { int n, num; scanf("%d", &n); int i; for(i = 0; i < n; i++) { scanf("%d", &num); a.insert(num);//将数存进去后 } int t = a.size();//判断元素的个数,和存进去的元素个数比较相不相等 if(t == n) printf("true\n"); else printf("false\n"); a.clear(); } return 0; }
相关文章推荐
- 离散数学上机题目1(判断元素是否属于集合)
- 题目:请给出一个运行时间为Θ(nlgn)的算法,使之能在给定一个由n个整数构成的集合S和另一个整数x时,判断出S中是否存在有两个其和等于x的元素。
- 题目1.请给出一个运行时间为O(nlgn)的算法,使之能在给定一个由n个整数构成的集合S和另一个证书x时,判断出S中是否存在有两个其和等于x的元素。
- Java判断一个值,或者对象是否存在list集合中和去掉list集合中重复的元素
- SDUT 离散题目3 判断一个集合是另一个集合的子集
- 程序员面试题目总结--数组(一)【递归求数组所有元素和、用一个for循环打印出一个二维数组、用递归判断数组是否是递增、有序数组中删除重复元素】
- 通过set集合判断一个集合的元素是否重复
- 描述一个运行时间为O(nlgn)的算法,使之能在给定一个由n个整数构成的集合S和另一个整数 X 时,判断出S中是否存在有两个其和刚好等于 X 的元素。
- 判断一个int数组中的元素是否存在重复
- 12、一个整数数列,元素取值可能是0~65535中的任意一个数,相同数值不会重复出现。0是例外,可以反复出现。 请设计一个算法,当你从该数列中随意选取5个数值,判断这5个数值是否连续相邻。
- 给定一个长度为N的数组,其中每个元素的取值范围都是1到N。判断数组中是否有重复的数字。(原数组不必保留)
- C++ - 一个非递减数组,下标从0到n,元素的取值范围为从0到n的整数,判断其中是否有重复元素
- 如何判断一个整数数组中是否有重复元素?要求时间复杂度O(n),空间复杂度O(1)
- 对于一个SIZE大小的数组,元素是[0,SIZE-1]区间内的整数,判断其中是否有重复元素
- 怎样判断set集合元素是否可以重复存取
- 一个数组,下标从0到n,元素为从0到n的整数。判断其中是否有重复元素
- 时间复杂度为O(n)来判断数组a[N](1 <= a[i] <= N)中是否有重复元素 (某公司校园招聘笔试题目)
- 程序员面试题目总结--数组(二)【二分查找、找出给定数字出现次数、两个有序整型数组交集、找出数组中唯一的重复元素、判断数组中的数值是否连续相邻】
- 如何判断一个整数数组中是否有重复元素
- 一个长度为N的整形数组,数组中每个元素的取值范围是[0,N-1],写一个算法判断数组中是否存在重复的数字