You are viewing a single comment's thread. Return to all comments →
js
function swaps(arr, sArr) { const indices = {}; for (let i = 0; i < arr.length; i++) { indices[arr[i]] = indices[arr[i]] ?? []; indices[arr[i]].push(i); } let ret = 0; for (let i = 0; i < arr.length; i++) { if (sArr[i] !== arr[i]) { ret++; const sInd = indices[sArr[i]].pop(); indices[arr[i]].push(sInd); arr[sInd] = arr[i]; } } return ret; } function lilysHomework(arr) { const sArr = [...arr].sort((a, b) => a - b); const s = swaps([...arr], sArr); sArr.reverse(); return Math.min(s, swaps(arr, sArr)); }
Seems like cookies are disabled on this browser, please enable them to open this website
Lily's Homework
You are viewing a single comment's thread. Return to all comments →
js