2016 Update
This commit is contained in:
parent
948b86eafa
commit
dcf5d15da3
7965 changed files with 139854 additions and 31002 deletions
|
|
@ -0,0 +1,33 @@
|
|||
(() => {
|
||||
'use strict';
|
||||
|
||||
// transpose :: [[a]] -> [[a]]
|
||||
let transpose = xs =>
|
||||
xs[0].map((_, iCol) => xs
|
||||
.map((row) => row[iCol]));
|
||||
|
||||
|
||||
let xs = 'ABCD CABD ACDB DACB BCDA ACBD ADCB CDAB' +
|
||||
' DABC BCAD CADB CDBA CBAD ABDC ADBC BDCA DCBA' +
|
||||
' BACD BADC BDAC CBDA DBCA DCAB'
|
||||
|
||||
return transpose(xs.split(' ')
|
||||
.map(x => x.split('')))
|
||||
.map(col => col.reduce((a, x) => ( // count of each character in each column
|
||||
a[x] = (a[x] || 0) + 1,
|
||||
a
|
||||
), {}))
|
||||
.map(dct => { // character with frequency below mean of distribution ?
|
||||
let ks = Object.keys(dct),
|
||||
xs = ks.map(k => dct[k]),
|
||||
mean = xs.reduce((a, b) => a + b, 0) / xs.length;
|
||||
|
||||
return ks.reduce(
|
||||
(a, k) => a ? a : (dct[k] < mean ? k : undefined),
|
||||
undefined
|
||||
);
|
||||
})
|
||||
.join(''); // 4 chars as single string
|
||||
|
||||
// --> 'DBAC'
|
||||
})();
|
||||
Loading…
Add table
Add a link
Reference in a new issue