描述: | 小明是个马大哈,某天他到超市买了若干双筷子(n <20) |
package huawei; import java.util.Arrays; public final class Demo { /** * 小明是个马大哈,某天他到超市买了若干双筷子(n<20) * 筷子的长度不尽相同,他把全部筷子都放在购物袋里面拿回家,路上不小心漏了一根 * 请你用程序帮他找出是漏掉的筷子是多长的。 * * * @param chopsticks 剩下的筷子数组,如:1, 2, 3, 2, 1, 3, 2 * @return int 漏掉的筷子长度,如上述输入返回:2(当输入的筷子数据异常时返回-1,如:找不到漏掉的筷子) * */ public static int checkChopsticks(int[] chopsticks) { if(chopsticks == null) { return -1; } int[] recod = new int[20]; int count = 0, index = 0; /*foreach the chopsticks*/ for(int i = 0; i < chopsticks.length; i++) { recod[chopsticks[i]]++; } for(int i = 0; i < recod.length; i++) { if(recod[i] % 2 == 1) { count++; index = i; } } if(count == 0 || count > 1) { return -1; } return index; } }