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

求解代码

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

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

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];
    }
相关推荐
通信小呆呆11 小时前
当算法有了“五感”:多模态数据融合如何向人体感官协同学习?
人工智能·学习·算法·机器学习·机器人
benben04411 小时前
强化学习之DQN算法族(基于gymnasium开发)
算法
小小工匠12 小时前
Redis - 事务机制:能实现 ACID 属性吗
数据结构·redis·性能优化·并发·持久化
玖玥拾12 小时前
C/C++ 数据结构(七)栈、容器适配器
c语言·数据结构·c++··容器适配器
何以解忧,唯有..12 小时前
Go语言循环语句详解:for、range与循环控制
开发语言·算法·golang
想吃火锅100513 小时前
【leetcode】88.合并两个有序数组js
算法
生成论实验室14 小时前
机器人:一个自主运动的系统
人工智能·算法·语言模型·机器人·自动驾驶·agi·安全架构
Qres82114 小时前
算法复键——树状数组
数据结构·算法
H1785350909614 小时前
SolidWorks第四部分_直接实体建模特征9_替换面原理
线性代数·算法·机器学习·3d建模·solidworks