二分法查找的时间复杂度最小,但是要求所查找的序列为有序序列#include<stdio.h>intbin_find(int*pa,intlow,inthigh,intkey){inttmp=(low+high)/2;if(low>high)return-1;else{if(key>pa[tmp])returnbin_find(pa,tmp+1,high,key);elseif(key<pa[tmp])returnbin_f..
分类:
其他好文 时间:
2017-05-04 16:30:52
阅读次数:
158
搜索区间 给定一个包含 n 个整数的排序数组,找出给定目标值 target 的起始和结束位置。 如果目标值不在数组中,则返回[-1, -1] 样例 给出[5, 7, 7, 8, 8, 10]和目标值target=8, 返回[3, 4] 挑战 时间复杂度 O(log n) 标签 数组 排序数组 二分法 ...
分类:
其他好文 时间:
2017-05-02 19:46:39
阅读次数:
180
需要注意的是: 1、二分法查找是在有序的基础上 2、确定判断是否找到的条件,确定判断函数 3、边界条件控制 1)闭区间[a,b] 2)半开半闭区间[a,b) 例题: 1、首个失败的产品。 这是一个闭区间的例子。 假设有一系列产品[1,2,3,4,5,6,7...],现在发现最新的产品是损坏的,你需要 ...
分类:
其他好文 时间:
2017-05-01 09:58:39
阅读次数:
137
教训:代码一直通不过的也许因为数据类型(在本题中int改为long),而不是逻辑问题; 代码如下: 代码就不解释了,注释应该就够了 ...
分类:
其他好文 时间:
2017-04-30 22:58:28
阅读次数:
213
算法思想: 1.模拟 2.搜索 (Search) 枚举(穷举) / 遍历 / 剪枝 / 产生式系统(估价函数)/双向BFS/记忆化搜索 3.查找(字典):折半查找(二分法) / 树形查找(二叉排序树) / Hash 4.递推或归纳 (To 数学方法) > 递推式 > DP (ex: 4 Hanoi ...
分类:
其他好文 时间:
2017-04-30 21:25:45
阅读次数:
165
UVALive 3971 题意:有b块钱。想要组装一台电脑,给出n个配件的种类,名字,价格,品质因子。若各种类配件各买一个,总价格<=b,求最差品质配件的最大品质因子。 思路: 求最大的最小值一般用二分法。 在(0。maxq)内进行二分,判定q作为最差品质因子是否可行。 大白书原题。比較考验代码功底 ...
分类:
其他好文 时间:
2017-04-30 15:17:48
阅读次数:
153
总结:排序大的分类可以分为两种:内排序和外排序。在排序过程中,全部记录存放在内存,则称为内排序,如果排序过程中需要使用外存,则称为外排序。下面讲的排序都是属于内排序。 内排序有可以分为以下几类: (1)、插入排序:直接插入排序、二分法插入排序、希尔排序。 (2)、选择排序:简单选择排序、堆排序。 ( ...
分类:
编程语言 时间:
2017-04-29 15:13:49
阅读次数:
161
【题目描述】Foragivensortedarray(ascendingorder)andatargetnumber,findthefirstindexofthisnumberinO(logn)timecomplexity.Ifthetargetnumberdoesnotexistinthearray,return-1.给定一个排序的整数数组(升序)和一个要查找的整数target,用O(logn)的时间查找到target第一次..
分类:
其他好文 时间:
2017-04-25 21:33:49
阅读次数:
144
最近去一家公司面试,手贱在人家CTO面前自告奋勇写了一把冒泡法,结果在交换数据的时候出了洋相,回家反思,写下如下代码,对自己算是一个鞭策,得到的教训是不要眼高手低,低调前行。 ...
分类:
编程语言 时间:
2017-04-25 19:15:37
阅读次数:
172