问题

例子

思路
-
方法1
-
方法2
代码
//方法1
class Solution {
public int findMin(int[] nums) {
//第一种
for(int i=1;i<nums.length;i++)
if(nums[i]<nums[i-1]) return nums[i];
return nums[0];
//第二种
int i=0,j=nums.length-1;
while(i<j) {
int mid=i+(j-i)/2;
if(nums[mid]<nums[j]) j=mid;
else i=mid+1;
}
return nums[i];
}
}
//方法2

本文探讨了在旋转排序数组中查找最小元素的有效方法。通过两种算法实现:一种是简单的线性搜索,另一种是利用二分查找的优化版本。后者在保持O(log n)的时间复杂度下,大幅提高了查找效率。
335

被折叠的 条评论
为什么被折叠?



