Intuitive Javascript Solution
\n/**\n * @param {number[]} nums\n * @return {number}\n */\nvar findMin = function(nums) {\n    let left = 0;\n    let right = nums.length - 1;\n    // the goal
```\n/**\n * @param {number[]} nums\n * @return {number}\n */\nvar findMin = function(nums) {\n    let left = 0;\n    let right = nums.length - 1;\n    // the goal is to use `left` to point at the minimn number    \n    while (left < right) {\n        const mid = Math.floor((left + right) / 2);\n        if (nums[mid] > nums[right]) {\n          left = mid + 1;\n        } else {\n          right = mid;\n        }\n    }\n\n    return nums[left];\n};\n```
['Binary Search', 'JavaScript']