【二分法】旋转数组的最小数字

求解代码

对旋转数组来说,右子数组的数值整体更小,左子数组的数值整体更大。

数组的最小值一定是右子数组的第一个元素。

java 复制代码
public int minNumberInRotateArray (int[] nums) {
        if(nums.length==0){
			return 0;
		}

		int i=0;
		int j=nums.length-1;

		while(i<j){
			int mid = i+((j-i)>>1);
			if(nums[mid]>nums[j]){
				i=mid+1;
			}else if(nums[mid]<nums[j]){
				j=mid;
			}else{
				j--;
			}
		}

		return nums[i];
    }
相关推荐
苦藤新鸡9 小时前
9.找到字符串中所有字母异位词
数据结构·c++·算法·力扣
逑之10 小时前
C语言笔记12:C语言内存函数
c语言·笔记·算法
ltqshs10 小时前
嵌入式C语言-指针数组和数组指针
c语言·数据结构·算法
小小宫城狮10 小时前
BPE 算法原理与训练实现
算法·llm
胡萝卜不甜10 小时前
算法宗门---广度有优先搜索BFS
算法·宽度优先
独自破碎E10 小时前
【归并】数组中的逆序对
java·数据结构·算法
f***241110 小时前
MATLAB高效算法优化实战指南
开发语言·算法·matlab
Blossom.11810 小时前
大模型自动化压缩:基于权重共享的超网神经架构搜索实战
运维·人工智能·python·算法·chatgpt·架构·自动化
优选资源分享11 小时前
MD5 哈希值校验工具 v1.5.3 实用文件校验工具
算法·哈希算法