题意:输出一个元素在一个已排序的数组中的位置,如果不存在输出它应该插入的位置
思路:二分查找,如果找到就输出位置,找不到就输出它应该插入的位置
复杂度:时间O(log n),空间O(1)
相关题目:
Search for a Range
Search a 2D Matrix...
分类:
其他好文 时间:
2014-05-15 05:57:32
阅读次数:
271
题意:给一个整数序列(可能有负数),求最短的连续序列使得序列之和大于等于整数x;
解法:第一种是On的复杂度:
我们要的是sum[j]-sum[i]>=x,如果有两个决策j = sum[j'],那么j就是没用的。即维护一个sum[j]递增序列。然后每次可以二分查找,但是这里有个特点就是要得到最近的,可以同时维护一个left指针,left指针用于跟进更...
分类:
其他好文 时间:
2014-05-15 03:20:26
阅读次数:
303
# 非波拉锲数列def fibs(num): the_list=[] a,b,i=0,1,1 for
i in range(num-1): a,b=b,a+b print bfibs(10)
分类:
编程语言 时间:
2014-05-14 22:00:27
阅读次数:
290
实际上也是一个二分查找的问题。
要找出范围,决定了当找到这个数时不能马上返回,如果找target最前面的那个位置,只有当这个位置等于target,且这个位置的前一个位置不等于target时,才能返回这个位置。如果找的是target最后面的那个位置,那么只有当这个位置等于target,且这个位置的后一个位置不等于target时,才会返回它。不满足返回条件时,下一次递归走什么位置也不一样,找前面的时...
分类:
其他好文 时间:
2014-05-14 21:58:25
阅读次数:
350
群聊的前台主要代码:
{%block content%}
测试版本,每天凌晨4:00清水,enjoy it~~:-)-->
{%for i in content[19*int(num)-19:19*int(num)]%}
【{{i[1]}}】 ({{i[3]}}) : {{i[2]}}
{%end%}
{%for i in range(1,pages+1)%}
{{i}}
{%...
分类:
其他好文 时间:
2014-05-13 23:14:45
阅读次数:
388
1. if elif else 2. 条件表达式:三元操作符: smaller = x if x
< y else y == if x < y : smaller =x else : smaller = y3. range(start, end,
step=1) 4. xrange(): 当有一个很...
分类:
编程语言 时间:
2014-05-13 21:48:28
阅读次数:
362
'''
【程序24】
题目:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。
1.程序分析:请抓住分子与分母的变化规律。
2.程序源代码:
'''
#方法一
a = 2.0
b = 1.0
s = 0
for n in range(1,21):
s += a / b
t = a
a = a + b
b = t
...
分类:
编程语言 时间:
2014-05-13 15:54:13
阅读次数:
371
Given an integer, convert it to a roman
numeral.Input is guaranteed to be within the range from 1 to 3999.public class
Solution { public String int...
分类:
其他好文 时间:
2014-05-10 20:31:10
阅读次数:
335
dmidecode # 查看全面硬件信息dmidecode | grep "Product Name"
# 查看服务器型号dmidecode | grep -P -A5 "Memory\s+Device" | grep Size | grep -v Range #
查看内存插槽
分类:
其他好文 时间:
2014-05-10 08:00:29
阅读次数:
540
1 #include 2 #define range 1300000 3 #define
BOOL int //必须把bool,true,false这样表示出来,不然会报编译错误...不知道为什么囧... 4 #define true 1 5
#define false 0 6 BOOL p...
分类:
其他好文 时间:
2014-05-10 06:56:39
阅读次数:
283