PTA 7-4 有重复的数据 (10分)

在一大堆数据中找出重复的是一件经常要做的事情。现在,我们要处理许多整数,在这些整数中,可能存在重复的数据。

你要写一个程序来做这件事情,读入数据,检查是否有重复的数据。如果有,输出“YES”这三个字母;如果没有,则输出“NO”。

输入格式:

你的程序首先会读到一个正整数n,1<=n<=100000。然后是n个整数。

输出格式:

如果这些整数中存在重复的,就输出:

YES

否则,就输出:

NO

输入样例:

5
1 2 3 1 4

输出样例:

YES

作者: 翁恺

单位: 浙江大学

时间限制: 800 ms

内存限制: 64 MB

代码长度限制: 16 KB


 1 import java.util.Arrays;
 2 import java.util.Scanner;
 3 public class Main {
 4     public static void main(String[] args) {
 5         Scanner sc=new Scanner(System.in);
 6         int n=sc.nextInt();
 7         int a[]=new int[n];
 8         for(int i=0;i<n;i++){
 9             a[i]=sc.nextInt();
10         }
11         Arrays.sort(a);//偷懒,但是能过测试点。
12         if(n==1)System.out.print("NO");
13         else{
14             for(int i=0;i<n-1;i++){
15                 if(a[i]==a[i+1]){
16                     System.out.print("YES");
17                     break;
18                 }
19                 if(i==n-2)System.out.print("NO");//需要注意这个特殊点i
20             }
21         }
22     }
23 }

原文地址:https://www.cnblogs.com/Flyfishy/p/12249960.html

时间: 2024-10-31 03:52:12

PTA 7-4 有重复的数据 (10分)的相关文章

PTA 7-18 逻辑判断-谁做了好事! (10分)

某班中的一位同学做了好事不留名,表扬信来了之后,班主任问A,B,C,D,E,F 六位同学是谁做的好事,六位的回答如下: A说:不是我. B说:是C. C说:是D. D说:C胡说. E说:不是C就是E F说:即不是D也不是E 如果N个人说的是真话,则根据这些信息,找出可能做了好事的人. 输入格式: 输入N,N个人可能说的是真话 输出格式: 有可能做好事的同学(A-F),如果有多位同学有可能做好事,则同学名称按字典序全部输出.同学名之间用" or "间隔. 如果无法找出,输出"E

PTA——7-3 逆序的三位数 (10分)

要求: 程序每次读入一个正3位数,然后输出按位逆序的数字.注意:当输入的数字含有结尾的0时,输出不应带有前导的0.比如输入700,输出应该是7. 正确思路: 拆分字符串后拼接成整数 1 #include <stdio.h> 2 int main() 3 { 4 int x; 5 scanf("%d",&x); 6 x=x%10*100+x/10%10*10+x/100; 7 printf("%d",x); 8 return 0; 9 } 我的程序

已知如下数组: var arr = [ [1, 2, 2], [3, 4, 5, 5], [6, 7, 8, 9, [11, 12, [12, 13, [14] ] ] ], 10]; 编写一个程序将数组扁平化去并除其中重复部分数据,最终得到一个升序且不重复的数组

已知如下数组: var arr = [ [1, 2, 2], [3, 4, 5, 5], [6, 7, 8, 9, [11, 12, [12, 13, [14] ] ] ], 10]; 编写一个程序将数组扁平化去并除其中重复部分数据,最终得到一个升序且不重复的数组 var dt= arr.toString().split(",").sort(function(a,b){return a-b}).map(Number);Array.from(new Set(dt)) 代码如下 var d

Sql Server 存储过程删除一个表里(除ID外)完全重复的数据记录

1 CREATE PROCEDURE P_DeleteSameData 2 ( 3 @table nvarchar(50),--表名 4 @columns nvarchar(200)--列名,格式形如:Id,Name,Age 5 ) 6 AS 7 BEGIN 8 BEGIN TRY 9 BEGIN TRANSACTION 10 DECLARE @SQL NVARCHAR(1000),@tempTable NVARCHAR(20); 11 SET @SQL = ''; 12 IF OBJECT_I

Mongodb去除重复的数据,pymongo去重

接上一篇的,发现爬斗鱼主播信息存入Mongodb数据库后,发现很多重复的数据,毕竟斗鱼不可能有这么多的主播,所以很多页是有重复的主播房间的. 查了一下怎么去重,发现比较麻烦,与其存入重复的数据后面再去重,还不如在存入数据库的时候就检查,不去存入重复的数据,这样就避免了后期再去做去重工作.于是改动如下: #-*- coding:utf-8 -*- #_author:John #date:2018/10/25 0:07 #softwave: PyCharm import requests impor

定时从一个数据库表中的数据存储到另外一个数据库中的表,而且怎么处理重复的数据?

原文:http://www.iteye.com/problems/77856 定时从一个数据库表中的数据存储到另外一个数据库中的表,而且怎么处理重复的数据? 表结构肯定是不能破坏,但是临时表如果是自己的数据库还行,问题是这个Oracle数据库是客户的数据库呢,你不能在他的数据库做任何多余的操作吧?还有别的更好的方法吗? 这个真的是比较困难. 首先,你要从客户机oracle取数据,因为这1分钟间隔之内不知道用户机新增加了哪些数据(大部分情况下是用户使用别的系统插入数据,而你又没有这个系统的程序接口

sql里将重复行数据合并为一行,数据用逗号分隔

DECLARE @T1 table ( UserID int , UserName nvarchar(50), CityName nvarchar(50) ); insert into @T1 (UserID,UserName,CityName) values (1,'a','上海') insert into @T1 (UserID,UserName,CityName) values (2,'b','北京') insert into @T1 (UserID,UserName,CityName)

使用aggregate在MongoDB中查找重复的数据记录

我们知道,MongoDB属于文档型数据库,其存储的文档类型都是JSON对象.正是由于这一特性,我们在Node.js中会经常使用MongoDB进行数据的存取.但由于Node.js是异步执行的,这就导致我们无法保证每一次的数据库save操作都是原子型的.也就是说,如果客户端连续两次发起同一事件将数据存入数据库,很可能会导致数据被重复保存.高并发的情况下,哪怕是你在代码中已经做了非常严格的校验,例如插入数据前判断要保存的数据是否已经存在,但仍然有可能会出现数据被重复保存的风险.因为在异步执行中,你没有

通过双重for循环来找到JSON中不重复的数据

//通过双重for循环来找到JSON中不重复的数据 var count = 0; for ( i=0; i<json.length; i++) { for ( j=0; j<i; j++) { if ( json[j].api_id == json[i].api_id ) { count++; } } if ( count == 0 ) { kong.getApiName( json[i].api_id ); } }