/ @param {number[]} nums @return {number} /var findMin = function(nums) { let start = 0; let end = nums.length - 1; while (start < end) { // 利用(end - start) / 2 获取中间位置mid, 利用Math.floor向下取整 const mid = start + Math.floor((end - start) / 2); // 判断中间位置值nums[mid]和末端位置值nums[end]是否是升序, // 是升序则解释最小值在中间位置的左边部分, // 把结束位置置为原中间位置end = mid // 若是不是升序则最小值在右边部分,把开始位置置为原中间位置加一start = mid + 1 if (nums[mid] < nums[end]) { end = mid; } else { start = mid + 1; } } // 连续二分,直到起始位置不小于结束位置,返回起始位置的值nums[start] return nums[start];};

总结:

数组遍历(方法1)查找效率最低。

利用数组自带排序sort可以利用JavaScript内部优化,提升部分效率。

php获取数组最小值找出数组中的最小值 SQL

二分法查找提高查找效率。
(最优方法)