随笔分类 -  二分查找

二分查找是一种多变的快速搜索方法
摘要:基础题之一,是混迹于各种难题的基础,有时会在小公司的大题见到,但更多的是见于选择题。。。 题意:在一个有序数列中,要插入数target,找出插入的位置。 楼主在这里更新了《二分查找综述》第一题的解法,比较类似,当然是今天临时写的。 知道了这题就完成了leetcode 4的第二重二分的写法了吧,楼主懒 阅读全文
posted @ 2016-06-14 17:32 Breeze0806 阅读(191) 评论(0) 推荐(0)
摘要:貌似是去年阿里巴巴c++的笔试题,没有什么创新直接照搬的。。。 题意就是找出两个排序数组的中间数,其实就是找出两个排序数组的第k个数。 二分答案,先二分出一个数,再用二分算出这个数在两个排序数组排序第几,然后和k做比较,最后以这个比较为依据接着二分直到求出第k个数。 本来这是两重二分,由于楼主的懒已 阅读全文
posted @ 2016-06-14 17:01 Breeze0806 阅读(259) 评论(0) 推荐(0)
摘要:可怕的同时考数值溢出和二分的酱油题之一,常在各种小公司的笔试中充当大题来给你好看。。。 题意很简单,在《二分查找综述》中有描述。 重点:使用简单粗暴的long long来避免溢出,二分均方根的答案来得到准确解。 当然这里的溢出不止是相乘的溢出,还有第六行那段代码的溢出,每次都会有几个解决问题的斗士牺 阅读全文
posted @ 2016-06-14 16:44 Breeze0806 阅读(402) 评论(0) 推荐(0)
摘要:其实二分查找是一种很简单的搜索方法,它在有序的数据查找中有着不可思议的力量,甚至在某些数学领域有着出乎意料的表现,这都是因为一个原因。这个原因是二分查找实现简洁而且算法复杂度仅为O(log(n))。 在我看来,所有的二分查找解题方式分为两种形式:一种是二分答案,另一种是二分下标。至于这两个有什么不同 阅读全文
posted @ 2016-06-12 18:09 Breeze0806 阅读(153) 评论(0) 推荐(0)
摘要:题意:找到第一个出问题的版本 二分查找,注意 mid = l + (r - l + 1) / 2;因为整数会溢出 阅读全文
posted @ 2016-05-07 21:47 Breeze0806 阅读(154) 评论(0) 推荐(0)