1. 解决方法

1.1 通过 Set

1
2
3
// 一般工作中我都直接采用 set 进行集合运算 比较方便和容易理解
const scores = [1,2,2,5,5,6]
let expectNumber = [...new Set([...scores])].length // 4

1.2 通过 filter

1
2
3
const scores = [1,2,2,5,5,6]
// 通过indexOf 让filter过滤掉多余的值
let expectNumber =scores.filter((ele, index, arr) => arr.indexOf(ele)== index).length; //4

2. 题源:

  • LCP 11.期望个数统一
  • 看了半天没看懂题目是什么意思 。。于是回顾了下 数学期望值
  • 数学期望(mean)(或均值,亦简称期望)是试验中每次可能结果的概率乘以其结果的总和
  • 举个例子 一个骰子 他能摇出来的所有结果的总和 就是他的期望值
    • 即只可能是 [1,2,3,4,5,6]
    • 不可能为[2.5,...]