Initial data commit
This commit is contained in:
parent
72d218235f
commit
f23f22d71c
199087 changed files with 3378941 additions and 0 deletions
15
Task/Entropy/JavaScript/entropy-2.js
Normal file
15
Task/Entropy/JavaScript/entropy-2.js
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
const entropy = (s) => {
|
||||
const split = s.split('');
|
||||
const counter = {};
|
||||
split.forEach(ch => {
|
||||
if (!counter[ch]) counter[ch] = 1;
|
||||
else counter[ch]++;
|
||||
});
|
||||
|
||||
|
||||
const lengthf = s.length * 1.0;
|
||||
const counts = Object.values(counter);
|
||||
return -1 * counts
|
||||
.map(count => count / lengthf * Math.log2(count / lengthf))
|
||||
.reduce((a, b) => a + b);
|
||||
};
|
||||
Loading…
Add table
Add a link
Reference in a new issue