Posts

Showing posts from December, 2020

Escape from code illusion

Image
Sometimes we fall into illusion of performant code. It happened to me recently. This is what the case. Problem: Identify unique values in an array of values where all items appear exactly twice but one.  Super simple right? I wrote the following two different solutions . Solution 1:           var singleNumber = function(nums) {     return Object.keys(nums.reduce((acc, item) => {        if(typeof(acc[item]) !== 'undefined') {            delete acc[item];        } else {            acc[item] = item;        }         return acc;     },{}))[0]; }; Solution 2:       var singleNumber = function(nums) {         return nums.reduce((acc, item) => acc ^ item);      };   What your choice? mine was the first one. When I compare...

Problem solving with JS

Image
     HTML      CSS      td {        width: 2em;      }     JS let data = { rows: null, cols: null, matrix: null }; function generateString(n, m) { for(let i = 0, str=''; i arr.map(el => ` ${el} `).join(''); const rows = data => data.map(datum => ` ${row(datum)} `).join(''); return ` ${rows(matrix)} `; } document.getElementById('rows').addEventListener('change', ({target: {value}}) => { data.rows = parseInt(value) || 0; if ( data.cols ) { data.matrix = generateMatrix(data.rows, data.cols); } }); document.getElementById('cols').addEventListener('change', ({target: {value}}) => { data.cols = parseInt(value) || 0; if ( data.rows ) { data.matrix = generateMatrix(data.rows, data.cols); } }); document.getElementById('generate').addEventListener('click', e => { if(data.matrix) document.getElementById('r...