本文共 1457 字,大约阅读时间需要 4 分钟。
为了解决这个问题,我们需要根据兔子的回答来计算森林中兔子的最少数量。每个兔子都会给出它们看到的同颜色兔子的数量,我们需要利用这些信息来推断出森林中兔子的总数。
import java.util.*;public class Solution { public static int numRabbits(int[] answers) { if (answers.length == 0) return 0; Arrays.sort(answers); int count = 0; Map map = new HashMap<>(); int loc = 0; for (int i = 1; i < answers.length; i++) { if (answers[i] != answers[i - 1]) { map.put(answers[i - 1], i - loc); loc = i; } } map.put(answers[answers.length - 1], answers.length - loc); for (Entry entry : map.entrySet()) { int key = entry.getKey(); int value = entry.getValue(); if (value == key + 1) { count += value; } else if (value < key + 1) { count += key + 1; } else { count += key + 1 + (value - (key + 1)); } } return count; }} 通过这种方法,我们可以准确地计算出森林中兔子的最少数量,确保考虑了所有可能的情况。
转载地址:http://ploe.baihongyu.com/