二分查找法是针对已经排好序的序列进行查找每次折半查找算法时间复杂度,对于长度为N的序列,每次执行N/2,假设k次结束,最后到第一个N/2^k=0,所以k=logN时间复杂度logNint binarysearch(const int array[], int x, int N) { int l...
分类:
其他好文 时间:
2014-06-27 20:33:28
阅读次数:
178
题目:输入一个递增排序的数组和一个数字target,在数组中查找两个数使得它们的和正好是target题解分析:一提到有序数组,应该立马联想到 二分查找因为数组已经有序了,我们可以设置两个游标first和last,下标first指向 0, last指向 size() - 1, 然后相加如果相加和 大于...
分类:
其他好文 时间:
2014-06-27 11:53:40
阅读次数:
210
package foo;import java.util.Arrays;public class Main { /** * 二分查找 * @param key 搜索的目标 * */ private static int binarySearch(int[]...
分类:
其他好文 时间:
2014-06-27 11:07:49
阅读次数:
182
问题
二分查找
list.index()无法应对大规模数据的查询,需要用其它方法解决,这里谈的就是二分查找
思路说明
在查找方面,python中有list.index()的方法。例如:
>>> a=[2,4,1,9,3] #list可以是无序,也可以是有序
>>> a.index(4) #找到后返回该值在list中的位置
1
>>...
分类:
编程语言 时间:
2014-06-26 13:17:57
阅读次数:
223
题目链接:点击打开链接
给定n个操作,m长的序列a
下面n个数
if(co>=0)则向字符串添加一个co (开始是空字符串)
else 删除字符串中有a的下标的字符
直接在序列上搞,简单模拟
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
using na...
分类:
其他好文 时间:
2014-06-26 07:52:58
阅读次数:
226
题目来源:HDU 3118 Arbiter
题意:翻译过来就是不能有奇圈 每走一步状态会变化 当他回到起点时如果和原来的状态不一样 可能会死 求至少去掉多少条边可以避免这种状况发生
思路:二分图是没有奇圈的 最多就15个点 我们用状态压缩枚举那些点是在二分图的一边和另外一边 确定二分图之后枚举输入的边 每条边连接的不能是同一集合的点
不符合就去掉 最后取小
#include
#inclu...
分类:
其他好文 时间:
2014-06-26 07:36:53
阅读次数:
217
//*************************************
// 函数名称:FineTab 二分查找算法 ->查温度表
// 函数功能:查找数据在表中对应的位置 表中数据从大到小
// 入口参数:表地址、表长度、要查找的数据
// 出口参数:无
// 返 回 值:数据在表中的位置
//***************************************/
int...
分类:
其他好文 时间:
2014-06-25 10:24:52
阅读次数:
115
一道很水的题,就是不知道为什么wa,,,
其实小优那个精度控制循环控制二分的方法不算好,如果esp太小,会TLE,直接人工控制次数最好了
#include
#include
#include
using namespace std;
double getres(double r,double s,double l)
{
//cout<<(r-s/acos(1-l*l/(2....
分类:
其他好文 时间:
2014-06-25 10:03:38
阅读次数:
181