一组无序的自然数集合,由0,1,2... ...,n的数字和一个的数字X(X>=0 && X<=n)组成,请从集合中找出这个重复数字X。
一组无序的自然数集合,由0,1,2... ...,n的数字和一个的数字X(X>=0 && X<=n)组成,请从集合中找出这个重复数字X。
空格分割的自然数集合
重复数字
9 6 4 2 1 3 5 7 0 1 8
1
0,1,2,3,4,5,6,7,8,9 + 1
3 0 2 2 1
2
0,1,2,3 + 2
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
List<String> list = Arrays.asList(in.nextLine().split(" "));
Set<String> set = new HashSet<>();
for (String str : list) {
if (set.contains(str)) {
System.out.println(str);
break;
} else {
set.add(str);
}
}
}
}
/*
思路:直接进行排序,找到那个重复的数字即可
*/
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;
public class Main{
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String[] str = br.readLine().split(" ");
int n = str.length;
int[] arr = new int[n];
for(int i = 0;i<n;i++)
arr[i] = Integer.parseInt(str[i]);
Arrays.sort(arr);
int same=arr[0];
for(int i = 0;i<n-1;i++){
if(arr[i]==arr[i+1]){
same = arr[i];
break;
}
}
System.out.println(same);
}
} import java.io.*;
import java.util.Map;
import java.util.HashMap;
public class Main{
public static void main(String[] args) throws IOException{
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
String[] str = bf.readLine().split(" ");
Map<String,Integer> map = new HashMap<>();
for(int i = 0;i < str.length;i++){
if(map.get(str[i]) != null){
System.out.println(str[i]);
}else{
map.put(str[i],1);
}
}
}
}
import java.util.Arrays;
import java.util.Scanner;
public class Main {
/**
*
* 运行时间:75ms
*
* 占用内存:10684k
* */
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String s = scanner.nextLine();
String[] s1 = s.split(" ");
Arrays.sort(s1);
for (int i = 1; i < s1.length; i++) {
if (s1[i].equals(s1[i - 1])){
System.out.println(s1[i]);
break;
}
}
}
}
import java.util.*;
public class Main
{
public static void main(String [] args)
{
Scanner sc=new Scanner(System.in);
while(sc.hasNextLine())
{
String str=sc.nextLine();
String [] array=str.split(" ");
HashMap<String,Integer> map=new HashMap<>();
for(int i=0;i<array.length;i++)
{
if(map.containsKey(array[i]))//如果数字已经出现过了
{
int value=map.get(array[i]);//通过键获取值
value+=1;
map.put(array[i],value);
}
else//如果数字没有出现过
{
map.put(array[i],1);
}
}
//遍历map集合
Set<String> set=map.keySet();
for(String key:set)
{
int value=map.get(key);
if(value!=1)//如果出现的次数不是1的话就打印出来
{
System.out.println(key);
}
}
}
}
} import java.util.*;
public class Main{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
Set<Integer> hset = new HashSet<>();
while(sc.hasNext()){
int n = sc.nextInt();
if(hset.contains(n)){
System.out.println(n);
break;
}else{
hset.add(n);
}
}
sc.close();
}
}