Maximum Swap LeetCode solution in JavaScript
1var maximumSwap = function (num) {2const nums = `${num}`.split("");34for (let index = 0; index < nums.length - 1; index++) {5const current = nums[index];6const diff = nums.slice(index + 1);7const max = Math.max(...diff);89if (current >= max) continue;10const swapIndex = index + diff.lastIndexOf(`${max}`) + 1;11[nums[index], nums[swapIndex]] = [nums[swapIndex], nums[index]];12break;13}14return nums.join("");15};