一组无序的自然数集合,由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.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;
}
}
}
}
const readline = require('readline')
const rl = readline.createInterface({
input: process.stdin,
ouput: process.stdout
})
let inArr = []
rl.on('line',line=>{
if(!line) return
inArr.push(line.trim())
if(inArr.length === 1){
let arr = inArr[0].split(' ').map(e => +e)
console.log(findRepeat(arr))
//解法一 排序比较
// let res = {}
// for (let i = 0; i < arr.length; i++) {
// if(!res[arr[i]]){
// res[arr[i]] = 1
// }else{
// console.log(arr[i])
// break
// }
// }
}
})
//解法二 Set()
function findRepeat(arr) {
const set = new Set()
for (let i = 0; i < arr.length; i++) {
if(set.has(arr[i])) return arr[i]
set.add(arr[i])
}
return 0
} import java.util.HashMap;
import java.util.Scanner;
public class Main {
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
HashMap<Integer,Integer> map = new HashMap<>() ;
while (sc.hasNext()){
int n = sc.nextInt();
if (!map.containsKey(n))
map.put(n,1);
else {
System.out.println(n);
break;
}
}
sc.close();
}
} #include <stdio.h>
#include <stdlib.h>
#include <string.h>
int comp(const void* a, const void* b) {
return *((int*) a) - *((int*) b);
}
int main(const int argc, const char** argv) {
char input[5000];
gets(input);
int i, nums[1000], numsSize = 0;
char* tok = strtok(input, " ");
while (tok) {
*(nums + numsSize++) = atoi(tok);
tok = strtok(NULL, " ");
}
qsort(nums, numsSize, sizeof(int), comp);
for (i = 0; i < numsSize - 1; ++i)
if (*(nums + i) == *(nums + i + 1))
return printf("%d\n", *(nums + i)), 0;
return 0;
} /*
思路:直接进行排序,找到那个重复的数字即可
*/
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);
}
} #include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main()
{ vector<double> vec1; double temp; while (cin >> temp) { vec1.push_back(temp); char c = cin.get(); if (c == '\n') break; if (c == ' ') continue; } sort(vec1.begin(), vec1.end()); for (int i = 0; i < vec1.size()-1; i++) { if (vec1[i] == vec1[i + 1]) { cout << vec1[i] << ' '; for (int temp = vec1[i]; temp == vec1[i]; i++) { } i--; continue; } } }
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);
}
}
}
}