# @left part: [start, mid]
# @right part: (mid, end]
def merge(data, start, mid, end):
if mid < start or end < mid:
return 0
reverse = 0
'''
@ for start, it play as the start index of left par...
分类:
其他好文 时间:
2014-07-08 15:04:06
阅读次数:
204
转载请注明出处:http://blog.csdn.net/ns_code/article/details/27103959题目描写叙述:HZ偶尔会拿些专业问题来忽悠那些非计算机专业的同学。今天JOBDU測试组开完会后,他又发话了:在古老的一维模式识别中,经常须要计算连续子向量的最大和,当向量全为正数...
分类:
其他好文 时间:
2014-07-08 00:51:25
阅读次数:
353
前言:自我介绍信通小本,北京人,成绩中上,也拿过三年的奖学金,但编程能力不强,天赋有限,大二时便决定放弃技术类工作。常自省,多实践,自大一开始实习,前后有五次实习经历,其中,一次创新工场产品实习经历,和一次互联网创业经历。找工作前,算是一个入门级PM。第一部分:求职数字获得的offer:网易、腾讯、...
分类:
其他好文 时间:
2014-07-06 14:48:26
阅读次数:
204
与折半查找是同一个模式,不同的是,在这里不在查找某个确定的值,而是查找确定值所在的上下边界。
def getBounder(data, k, start, end, low_bound = False):
if end < start : return -1
while start > 1
if data[ mid ] ...
分类:
其他好文 时间:
2014-07-06 12:18:00
阅读次数:
311
可以练习下链表的逆置。
def PrintListReversingly(head):
if head == None:
return
if head:
PrintListReversingly(head.next)
print head.val
def reverse(head):
if head == None or head.next == None:
return...
分类:
其他好文 时间:
2014-07-06 09:29:57
阅读次数:
214
class BTNode:
def __init__(self, val):
self.left = None
self.right = None
self.val = val
'''
@ construct tree by inorder & preorder
'''
def constructByInPre(inorder, instart, inend, preorde...
分类:
其他好文 时间:
2014-07-06 00:34:00
阅读次数:
234
def IsContinuous(seq, num = 5):
zeros = 0; d = 0
seq = sorted(seq)
for i in range(num - 1):
if seq[i] == 0:
zeros += 1
continue
if seq[i] == seq[i + 1]:
return False
d += seq[i + 1]...
分类:
其他好文 时间:
2014-07-04 07:11:20
阅读次数:
171
题目要求第n个丑数,所以对于中间结果不需要保存。
def Humble(index):
curHum = 1
M2 = 2; M3 = 3; M5 = 5
while index > 1:
curHum = min(min(M2, M3), M5)
while M2 <= curHum:
M2 *= 2
while M3 <= curHum:
M3 *= 3
w...
分类:
其他好文 时间:
2014-07-03 17:29:40
阅读次数:
214
书里面关于分类的判断有些麻烦,通过某一位为0为1来对数组元素进行分类。假如第3位为1,那么也就是元素x & 8 等于或不等于0,所以没必要非的用第几位去判断。
def once(array):
reOR = 0
for x in array:
reOR ^= x
bit1 = firstBit1(reOR)
first = 0
second = 0
for x in a...
分类:
其他好文 时间:
2014-07-03 13:54:06
阅读次数:
182
按着书里面讲述的方法,根据某一位来将整个数组拆分成两个部分,取每一部分中出现一次的数。书中的处理略显复杂,这里简化下分类的方法。
def once(array):
reOR = 0
for x in array:
reOR ^= x
bit1 = firstBit1(reOR)
first = 0
second = 0
for x in array:
if x & ...
分类:
其他好文 时间:
2014-07-03 13:50:52
阅读次数:
181