二分法解决局部最小值问题

news2024/11/22 12:03:08

二分法解决局部最小值问题

局部最小值问题:(不一定是有序才可以二分的,具有排它性就可以二分)

局部最小就是改数的左侧和右侧的数都比自己大,当然如果位于两端的话,就只考虑一侧。找到有一个这样的数就可以。

一个数组中,小于m的数都在左边,大于m的数都在右边,找出最右边的一个小于m的数。(具有排他性)
在这里插入图片描述

思考

在两端,如果左侧是降,右侧是升,那么根据零点定理,中间必定有局部最小值点,所以就取中间找,这时候用二分,取中点,如果中点是升的,那么局部极小点必定在左侧,如果左侧是降的,那么必定在右侧。

code

int getLessIndex(int [] arr){
	if(arr == null || arr.length == 0){
		return -1;   // no exist
	}
	if(arr.length == 1 || arr[0] <  arr[1]){
		return 0;
	}
	if(arr[arr.length-1] < arr[arr.length - 2]){
		return arr.length - 1;
	}
	
	int left = 1;
	int right  = arr/length - 2;
	int mid = 0;
	while(left < right){
			mid = left + (right-left)>>1;  // mid = (left++right)/2,用位运算可以防溢出
			if(arr[mid] > arr[mid-1]){
				right = mid - 1;
			}
			else if(arr[mid] > arr[mid+1]){
				left = mid + 1;
			}
			else{
				return mid;
			}	
	}
	return left;
	
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1162184.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

推荐游戏《塞尔达传说:旷野之息》

塞尔达传说&#xff1a;旷野之息 播报编辑讨论32上传视频 2017年任天堂企划制作本部开发的动作冒险游戏 3分钟了解荒野之息 03:59 一分钟了解游戏《塞尔达传说&#xff1a; 旷野之息2》 00:57 旷野之息&#xff1a;20-爬雪山找隐藏神庙获攀爬套装部件&#xff0c;踏上沼泽再…

Pytest-Allure及Allure命令使用

一、Allure介绍 Allure是Pytest用于生成测试报告的框架&#xff0c;提供丰富的测试报告功能&#xff1b; 二、Allure安装 Allure安装分为2块&#xff0c;分别是pytest-Allure库安装&#xff0c;本地生成报告并导出的命令行allure安装&#xff1b; 1、pytest-Allure库安装 …

易基因:RRBS等揭示DNA甲基化-肿瘤免疫逃逸-肾上腺皮质癌侵袭的相关性|表观研究

大家好&#xff0c;这里是专注表观组学十余年&#xff0c;领跑多组学科研服务的易基因。 组蛋白修饰对调控染色质结构和基因表达至关重要&#xff0c;组蛋白修饰失调可能导致疾病状态和癌症。染色质结合蛋白BRWD3&#xff08;Bromodomain and WD repeat-containing protein 3&…

创新驱动发展 国家创新型城市试点名单2006-2018年(已整理DID格式)

数据简介&#xff1a;创新型城市是指在经济、科技和社会方面具有卓越创新能力的城市&#xff0c;这些城市通过提供良好的创新环境和支持系统&#xff0c;吸引和培养创新人才&#xff0c;促进新兴产业发展&#xff0c;推动经济增长和社会进步。创新型城市提供了丰富的就业机会和…

go语言 | grpc原理介绍(一)

参考 https://www.nowcoder.com/discuss/389810396381683712?sourceSSRsearch 这里是b站对应的csdn博客&#xff0c;比较详细的介绍grpc相关原理说明&#xff0c;首先是大概的一个流程图说明。 什么是 RPC &#xff1f; 远程过程调用&#xff08;RPC&#xff09;是计算机科…

嵌入式软件开发:第二部分–七个步骤计划

使用一种工具&#xff08;仅一种工具&#xff09;武装自己&#xff0c;您可以在下一个嵌入式项目的质量和交付时间上做出巨大的改进。点击领取嵌入式物联网学习路线 该工具是&#xff1a;绝对承诺对开发代码的方式进行一些小而基本的更改 。 有了改变的意志&#xff0c;今天您…

火山引擎ByteHouse:如何用OLAP引擎提升数字营销效果?

更多技术交流、求职机会&#xff0c;欢迎关注字节跳动数据平台微信公众号&#xff0c;回复【1】进入官方交流群 随着市场竞争的加剧&#xff0c;企业对数字营销投入的效果监测和优化需求日益增强&#xff0c;营销实时监控也成为企业提升运营效率的重要手段。在数字化营销中&…

Django实战项目-学习任务系统-查询列表分页显示

接着上期代码框架&#xff0c;6个主要功能基本实现&#xff0c;剩下的就是细节点的完善优化了。 接着优化查询列表分页显示功能&#xff0c;有很多菜单功能都有查询列表显示页面情况&#xff0c;如果数据量多&#xff0c;不分页显示的话&#xff0c;页面展示效果就不太好。 本…

Pinia介绍及简单示例

Pinia 是一个基于 Vue 3 的状态管理插件&#xff0c;旨在提供一种简单、直观的方式来管理应用程序的状态。与其他状态管理库&#xff08;如 Vuex&#xff09;相比&#xff0c;Pinia 更加轻量级、易于使用和可扩展。 Pinia 的主要特点包括&#xff1a; 1. 面向对象的 API&…

超低价:阿里云双11服务器优惠价格表_87元一年起

2023阿里云双十一优惠活动已经开启了&#xff0c;轻量2核2G服务器3M带宽优惠价87元一年、2核4G4M带宽优惠价165元一年&#xff0c;云服务器ECS经济型e实例2核2G3M固定带宽优惠价格99元一年&#xff0c;还有2核4G、2核8G、4核8G、4核16G、8核32G等配置报价&#xff0c;云服务器e…

发票识别神器:自动录入纸质发票信息

在如今数字化的时代&#xff0c;纸质发票的处理变得越来越繁琐和耗时。为了提高工作效率和减少人工错误&#xff0c;自动识别纸质发票信息的软件应运而生&#xff0c;如金鸣表格文字识别系统的“证票识别”识别功能。这类软件通过图像识别和智能算法&#xff0c;能够迅速准确地…

李宏毅机器学习笔记.Flow-based Generative Model(补)

文章目录 引子生成问题回顾&#xff1a;GeneratorMath BackgroundJacobian MatrixDeterminant 行列式Change of Variable Theorem简单实例一维实例二维实例 网络G的限制基于Flow的网络构架G的训练Coupling LayerCoupling Layer反函数计算Coupling Layer Jacobian矩阵计算Coupli…

5.6 TCP可靠传输的实现

思维导图&#xff1a; 5.6.1 TCP可靠传输的实现笔记概述 在TCP/IP模型中&#xff0c;第5.6节讨论了TCP如何通过滑动窗口机制来实现可靠传输。以下是对本节内容的笔记概括&#xff0c;以及关键点的简化解释&#xff1a; 滑动窗口&#xff08;Sliding Window&#xff09; 基本概…

按顺序判断对象a和b中第一个不同之处ax和bx【1】ax是否小于等于bx【2】不同处ax是否为空operator.le()

【小白从小学Python、C、Java】 【计算机等考500强证书考研】 【Python-数据分析】 按顺序判断对象a和b中 第一个不同之处ax和bx 【1】ax是否小于等于bx 【2】不同处ax是否为空 operator.le() [太阳]选择题 下列代码执行输出结果为True的个数为? import operator pr…

6大场景,玩转ChatGPT!

文章目录 一、故事叙述提问举例 二、产品描述提问举例 三、报告撰写提问举例 四、邮件和信件撰写提问举例 五、新间稿和公告撰写提问举例 六、学术论文和专业文章撰写提问举例 本文是在GPT3.5版本下演示的 我们知道AI技术不仅能够自动生成文章和内容&#xff0c;还可以根据我们…

2023年【山东省安全员C证】考试资料及山东省安全员C证模拟试题

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 山东省安全员C证考试资料是安全生产模拟考试一点通生成的&#xff0c;山东省安全员C证证模拟考试题库是根据山东省安全员C证最新版教材汇编出山东省安全员C证仿真模拟考试。2023年【山东省安全员C证】考试资料及山东省…

免费记课时小程序-全优学堂

1. 教师使用小程序记上课 使用步骤 创建了员工账号&#xff0c;员工需设置为教师为班级进行排课使用系统账号绑定小程序&#xff0c;记上课 #1.1 创建员工账号 通过系统菜单’机构设置->员工管理‘&#xff0c;添加本机构教师及其他员工。 添加过程中&#xff0c;可设置…

excel制作透视表

场景描述&#xff1a; 有一张excel表&#xff0c;存在多条记录&#xff0c;现在需要把相同名称的商品的数量求和&#xff0c;放在一起展示 操作步骤&#xff1a; 删除最后一行数据 选中不显示分类汇总 以表格形式展示

Apache Pulsar 在腾讯云上的最佳实践

导语 由 StreamNative 主办的 Pulsar Meetup Beijing 2023 在2023年10月14日完美落幕&#xff0c;本次活动大咖云集&#xff0c;来自腾讯、滴滴、华为、智联招聘、RisingWave 和 StreamNative 的行业专家们一起&#xff0c;深入探讨 Pulsar 在生产环境中的最佳应用实践&#x…

收藏 | 如何撰写数据分析报告?(附案例及数据源下载)

▲点击上方卡片关注我&#xff0c;回复“8”&#xff0c;加入数据分析领地&#xff0c;一起学习数据分析&#xff0c;持续更新数据分析学习路径相关资料~&#xff08;精彩数据观点、学习资料、数据课程分享、读书会、分享会等你一起来乘风破浪~&#xff09;回复“小飞象”&…