百度笔试编程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。