![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
二分法
程程程乘什么
这个作者很懒,什么都没留下…
展开
-
算法题总结3:二分查找专题
剑指Offer 53-1 原始版本:找到左右边界,再返回。(缺点:容易出错,比较麻烦) class Solution { public: int search(vector<int>& nums, int target) { const int n = nums.size(); int left = 0, right = n - ...原创 2020-04-28 23:13:34 · 306 阅读 · 0 评论 -
LeetCode 744:寻找比目标字母大的最小字母
二分法。需要注意左闭右开区间,l+1,r不需要-1,另外因为要找的是大于target的字母,所以 if 判断条件<=target 循环条件是l<r或者 l!=r 均可 class Solution { public: char nextGreatestLetter(vector<char>& letters, char target) { ...原创 2019-11-13 23:13:37 · 74 阅读 · 0 评论 -
LeetCode 4:两个有序数组中的中位数
一道hard题目,二分法的边界条件+这道题带来的复杂的边界条件判定,比较麻烦。 class Solution { public: double findMedianSortedArrays(vector<int>& nums1, vector<int>& nums2) { const int n1 = nums1.size();...原创 2019-11-06 23:10:40 · 76 阅读 · 0 评论 -
LeetCode 704:二分查找
标准的二分查找:一开始循环条件没有加等号在有些case是错的,加等号就可以,而且另一句针对单个元素的数组的检查也可以省掉了。 做这道题主要是看到了知乎上关于二分查找的讨论: 使用这个模板编写二分查找法的一般流程:https://zhuanlan.zhihu.com/p/86136802 二分查找有几种写法?它们的区别是什么?:https://www.zhihu.com/question/3...原创 2019-10-23 22:28:27 · 77 阅读 · 0 评论