题
思
这不是数学题么。
出现一次的能力值位置必相同,直接加一;
位置不同的能力值我试了一下1,2,3,4的全排列,期望也都是1;
所以直接把数组去个重,统计一下个数就行了。
其实是比较好解释的,假设有5个1,A第一个位置的1和B第一个位置的1是同一个1的概率是1/5,对于第二个位置,第三个位置……都是1/5,所以期望就是1.
代码
class Solution {
public int expectNumber(int[] scores) {
Set<Integer> set = new HashSet<Integer>();
for (int score : scores) {
set.add(score);
}
return set.size();
}
}