freeCodeCamp/curriculum/challenges/chinese/10-coding-interview-prep/rosetta-code/entropy.md

1.1 KiB
Raw Blame History

id title challengeType videoUrl
599d15309e88c813a40baf58 5

--description--

任务:

计算给定输入字符串的香农熵H.

给定谨慎的随机变量X,它是N“符号”(总字符)的字符串,由n个不同的字符组成对于二进制n = 2位/符号中X的香农熵是

H*2X= - \\ sum* {i = 1} ^ n \\ frac {count_i} {N} \\ log_2 \\ left\\ frac {count_i} {N} \\ right

其中count_i是字符n_i的计数。

--hints--

entropy是一种功能。

assert(typeof entropy === 'function');

entropy("0")应该返回0

assert.equal(entropy('0'), 0);

entropy("01")应该返回1

assert.equal(entropy('01'), 1);

entropy("0123")应该返回2

assert.equal(entropy('0123'), 2);

entropy("01234567")应该返回3

assert.equal(entropy('01234567'), 3);

entropy("0123456789abcdef")应返回4

assert.equal(entropy('0123456789abcdef'), 4);

entropy("1223334444")应返回1.8464393446710154

assert.equal(entropy('1223334444'), 1.8464393446710154);

--solutions--