文章目录一、模板示范二、模板三、细节说明为什么L的初始值为-1,R的初始值为N为什么循环结束的条件是while(L+1!=R)?不会陷入死循环最后四、 例题one[数的范围](https://www.acwing.com/problem/content/791/) 例题two[数的三次方根](https://www.acwing.com/problem/content/792/)五、相关学习的视频链接-[为啥二分查找容易出错](https://www.bilibili.com/video/BV1d54y1q7k7?spm_id_from=333.337.search-card.all.cl
文章目录一、模板示范二、模板三、细节说明为什么L的初始值为-1,R的初始值为N为什么循环结束的条件是while(L+1!=R)?不会陷入死循环最后四、 例题one[数的范围](https://www.acwing.com/problem/content/791/) 例题two[数的三次方根](https://www.acwing.com/problem/content/792/)五、相关学习的视频链接-[为啥二分查找容易出错](https://www.bilibili.com/video/BV1d54y1q7k7?spm_id_from=333.337.search-card.all.cl
TPwls视频优质讲解题意:很清晰,需要注意的点是,青蛙要往返2x次,石头的下标从h1−hn−1h_1-h_{n-1}h1−hn−1,左岸看作h0h_0h0、右岸hnh_nhn。思路:首先很显然的一眼二分答案。二分青蛙的跳跃能力,找到最大的能过河的情况。难点在于check函数如何处理。需要基于贪心先得出几个结论:不管跳跃能力为多少,青蛙在i位都会尽可能往右跳,如果j位承载不下了,就让j-1位,j-2位承载…往返2x次,跟从左到右跳2x次本质是一样的我们只需要用一个数组记录每个石头位置能承载的最大跳跃次数(在自身高度限制下),for循环对于每个i往右边传递自身的承载。传递到最后,右岸hn
TPwls视频优质讲解题意:很清晰,需要注意的点是,青蛙要往返2x次,石头的下标从h1−hn−1h_1-h_{n-1}h1−hn−1,左岸看作h0h_0h0、右岸hnh_nhn。思路:首先很显然的一眼二分答案。二分青蛙的跳跃能力,找到最大的能过河的情况。难点在于check函数如何处理。需要基于贪心先得出几个结论:不管跳跃能力为多少,青蛙在i位都会尽可能往右跳,如果j位承载不下了,就让j-1位,j-2位承载…往返2x次,跟从左到右跳2x次本质是一样的我们只需要用一个数组记录每个石头位置能承载的最大跳跃次数(在自身高度限制下),for循环对于每个i往右边传递自身的承载。传递到最后,右岸hn
前言二分法也就是二分查找,它是一种效率较高的查找方法。假如你们公司新来了一个人,叫张三,他是你们公司第47个人,过了一段时间后,有些人呢看张三不爽,离职了,那这时候张三肯定不是公司第47个人了,怎么样才知道张三排第几呢,下面我们用二分法把他找出来 思路给你一本1000页的书籍,随机给定一个页码,如何用最快的方式找到它?如果一页一页逐步去查找,则最高需要查找一千次!那我们如何用二分法来解决这个问题呢?二分法的关键就是二分这个词。 步骤1:设定一个页码作为中心点来将1000页分为两份,中位数的作用就是每次缩小一半查找范围,即达到开方的效果。即可以用(首位+末位)/2=中位数。 步骤2:将需要查找的
前言二分法也就是二分查找,它是一种效率较高的查找方法。假如你们公司新来了一个人,叫张三,他是你们公司第47个人,过了一段时间后,有些人呢看张三不爽,离职了,那这时候张三肯定不是公司第47个人了,怎么样才知道张三排第几呢,下面我们用二分法把他找出来 思路给你一本1000页的书籍,随机给定一个页码,如何用最快的方式找到它?如果一页一页逐步去查找,则最高需要查找一千次!那我们如何用二分法来解决这个问题呢?二分法的关键就是二分这个词。 步骤1:设定一个页码作为中心点来将1000页分为两份,中位数的作用就是每次缩小一半查找范围,即达到开方的效果。即可以用(首位+末位)/2=中位数。 步骤2:将需要查找的
🧛♂️个人主页:杯咖啡💡进步是今天的活动,明天的保证!✨目前正在学习:SSM框架,算法刷题🙌牛客网,刷算法过面试的神级网站,用牛客你也牛。👉免费注册和我一起学习刷题👈🐳希望大家多多支持🥰一起进步呀!😎Loveistheonethingwe’arecapableofperceivingthattranscendstimeandspace.爱是我们唯一能够感知的可以超越时空维度的事物。-《星际穿越》✨今日算法三题1.特殊数组的特征值2.在D天内送达包裹的能力3.咒语和药水的成功对数文章目录✨今日算法三题1.特殊数组的特征值题目描述思路详解代码与结果2.在D天内送达包裹的能力题目描述思路详解代码与
🧛♂️个人主页:杯咖啡💡进步是今天的活动,明天的保证!✨目前正在学习:SSM框架,算法刷题🙌牛客网,刷算法过面试的神级网站,用牛客你也牛。👉免费注册和我一起学习刷题👈🐳希望大家多多支持🥰一起进步呀!😎Loveistheonethingwe’arecapableofperceivingthattranscendstimeandspace.爱是我们唯一能够感知的可以超越时空维度的事物。-《星际穿越》✨今日算法三题1.特殊数组的特征值2.在D天内送达包裹的能力3.咒语和药水的成功对数文章目录✨今日算法三题1.特殊数组的特征值题目描述思路详解代码与结果2.在D天内送达包裹的能力题目描述思路详解代码与
目录一、整数二分1.1二分查找模板1.1.1寻找右边界的二分查找1.1.2寻找左边界的二分查找1.2应用:寻找元素的起始位置和终止位置二、浮点数二分2.1浮点数二分模板2.2应用:数的三次方根三、使用STL进行二分查找3.1std::binary_search3.2std::lower_bound3.3std::upper_bound3.4std::equal_rangeReferences一、整数二分二分查找分为整数二分和浮点数二分,一般所说的二分查找都是指整数二分。1.1二分查找模板满足单调性的数组一定可以使用二分查找,但可以使用二分查找的数组不一定需要满足单调性。不妨假设我们找到了条件C
目录一、整数二分1.1二分查找模板1.1.1寻找右边界的二分查找1.1.2寻找左边界的二分查找1.2应用:寻找元素的起始位置和终止位置二、浮点数二分2.1浮点数二分模板2.2应用:数的三次方根三、使用STL进行二分查找3.1std::binary_search3.2std::lower_bound3.3std::upper_bound3.4std::equal_rangeReferences一、整数二分二分查找分为整数二分和浮点数二分,一般所说的二分查找都是指整数二分。1.1二分查找模板满足单调性的数组一定可以使用二分查找,但可以使用二分查找的数组不一定需要满足单调性。不妨假设我们找到了条件C