二分法
coolwriter
这个作者很懒,什么都没留下…
展开
-
Sqrt(x) 二分法和牛顿法求开平方
求一个整数的平方根,如果该整数的平方根不是整数的话,返回平方根取整。 二分搜索,开始区间是1,终止区间是x。 class Solution { public: int mySqrt(int x) { if(x 0) return 0; if(x == 1) return 1; int b原创 2018-01-11 17:20:44 · 1562 阅读 · 0 评论 -
二分法的变种
其实,二分法真的不那么简单,尤其是二分法的各个变种。 最最简单的二分法,就是从一个排好序的数组之查找一个key值。 如下面的程序: int search(int *arr, int n, int key) { int left = 0, right = n-1; while(left<=right) { int mid = left + ((right ...转载 2018-01-11 22:31:08 · 473 阅读 · 0 评论 -
二分法找字符串
题目描述 有一个排过序的字符串数组,但是其中有插入了一些空字符串,请设计一个算法,找出给定字符串的位置。算法的查找部分的复杂度应该为log级别。 给定一个string数组str,同时给定数组大小n和需要查找的string x,请返回该串的位置(位置从零开始)。 测试样例: [“a”,”b”,”“,”c”,”“,”d”],6,”c” 返回:3 class Finder { public:原创 2018-02-04 16:40:40 · 1203 阅读 · 0 评论