From 811977e45819794a09a7865b5f0b691502367026 Mon Sep 17 00:00:00 2001 From: aadil42 <77232799+aadil42@users.noreply.github.com> Date: Sat, 15 Mar 2025 23:26:31 +0530 Subject: [PATCH] Create 2560-house-robber-iv.js Solved house-robber-iv --- javascript/2560-house-robber-iv.js | 47 ++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 javascript/2560-house-robber-iv.js diff --git a/javascript/2560-house-robber-iv.js b/javascript/2560-house-robber-iv.js new file mode 100644 index 000000000..d1b9aa321 --- /dev/null +++ b/javascript/2560-house-robber-iv.js @@ -0,0 +1,47 @@ +/** + * Binary Search + * Time O(n*log(m)) | Space O(1) + * https://leetcode.com/problems/house-robber-iv/ + * @param {number[]} nums + * @param {number} k + * @return {number} + */ +var minCapability = function(nums, k) { + + const canRob = (max) => { + + let i = 0; + let count = 0; + + while (i < nums.length) { + + if (nums[i] <= max) { + i += 2; + count++; + continue; + } + + i += 1; + } + + return count; + } + + let left = 1; + let right = Math.max(...nums); + let minCap = Infinity; + + while (left <= right) { + + const mid = left + Math.floor((right-left)/2); + + if (canRob(mid) >= k) { + minCap = mid; + right = mid - 1; + } else { + left = mid + 1; + } + } + + return minCap; +};