华为题3
办法一:
import java.util.Arrays;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while (sc.hasNext()) {
int number = sc.nextInt();
int shuzu[] = new int[number];
for (int i = 0; i < shuzu.length; i++) {
shuzu[i] = sc.nextInt();
}
// 冒泡排序
for (int i = 0; i < number; i++) {
for (int j = i + 1; j < number; j++) {
if (shuzu[i] > shuzu[j]) {
int temp = shuzu[i];
shuzu[i] = shuzu[j];
shuzu[j] = temp;
}
}
}
Arrays.sort(shuzu);
// 如何把重复的数去掉
int pointer = 0;
for (int i = 1; i < shuzu.length; i++) {
if (shuzu[i] != shuzu[pointer]) {
pointer++;
shuzu[pointer] = shuzu[i];
}
}
int[] uArray = new int[pointer + 1];
for (int i = 0; i <= pointer; i++) {
uArray[i] = shuzu[i];
}
for (int i = 0; i < uArray.length; i++) {
System.out.println(uArray[i]);
}
}
}
}
办法二:
import java.util.Arrays;
import java.util.HashSet;
import java.util.Scanner;
import java.util.Set;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while (sc.hasNext()) {//这题还考察了一点就是需要多次执行,不是只执行一次,所以这个while语句一定不要少了,尴尬
int number = sc.nextInt();
int shuzu[] = new int[number];
for (int i = 0; i < shuzu.length; i++) {
shuzu[i] = sc.nextInt();
}
// 利用Set把重复的元素去掉
Set<Object> set = new HashSet<>();
for (int i = 0; i < shuzu.length; i++) {
set.add(shuzu[i]);
}
// 遍历set集合 无序的
// 转化成int数组
int[] uArray = new int[set.size()];
int count = 0;
for (Object str : set) {
// 将Object转化成 int
uArray[count++] = Integer.parseInt(String.valueOf(str));
}
Arrays.sort(uArray);
for (int i = 0; i < uArray.length; i++) {
System.out.println(uArray[i]);
}
}
}
}
腾讯2017上机题:
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
Map<Integer, Integer> map = new HashMap<Integer, Integer>();
while (sc.hasNext()) {
int s = sc.nextInt();
if (map.containsKey(s)) {
map.put(s, map.get(s) + 1);
} else
map.put(s, 1);
for (Integer key : map.keySet()) {
System.out.println(key + " " + map.get(key));
}
}
}
}