百度笔试编程01-java
第一题通过,第二三题凉凉。。但是看第一题的分享用了多个for,其实一个for就可以解决吧,时间复杂度为O(n),附代码
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int k = sc.nextInt();
int a;
int sum = 0;
Set<Integer> set = new HashSet<Integer>(n);
for (int i = 0; i < n; i++) {
a = sc.nextInt();
if (set.contains(a)){
set.remove(a);
continue;
}
set.add(a);
sum ++;
}
System.out.println(sum);
} 题目: 小度给大家买果汁。
员工一共n人(包括小度), 果汁一共k种,第i位员工最喜欢果汁a_i。
商店举行促销,全场果汁买一送一(购买一瓶i,再赠送一瓶i)。
想让所有人(包括小度)都拿到他们最喜欢的果汁,需要买几瓶。
第一行两个整数n,k,分别表示员工人数和果汁种类数。
第二行n个整数,表示i号员工最喜欢的果汁种类是a_i。
员工一共n人(包括小度), 果汁一共k种,第i位员工最喜欢果汁a_i。
商店举行促销,全场果汁买一送一(购买一瓶i,再赠送一瓶i)。
想让所有人(包括小度)都拿到他们最喜欢的果汁,需要买几瓶。
第一行两个整数n,k,分别表示员工人数和果汁种类数。
第二行n个整数,表示i号员工最喜欢的果汁种类是a_i。
