def FirstNotRepeatingChar(string):
hashStr = [0] * 256
for c in string:
hashStr[ord(c)] += 1
for c in string:
if hashStr[ord(c)] == 1:
return c
这里说下ord, 可以作为atoi来用,功能是若给定的参数是一个长度为1的字符串,那么若...
分类:
其他好文 时间:
2014-07-08 16:15:10
阅读次数:
183
# @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
def MirroRecursively(root):
# root is None or just one node, return root
if None == root or None == root.left and None == root.right:
return root
root.left, root.right = root.right, root.left
Mi...
分类:
其他好文 时间:
2014-07-08 14:26:08
阅读次数:
221
转载请注明出处:http://blog.csdn.net/ns_code/article/details/27103959题目描写叙述:HZ偶尔会拿些专业问题来忽悠那些非计算机专业的同学。今天JOBDU測试组开完会后,他又发话了:在古老的一维模式识别中,经常须要计算连续子向量的最大和,当向量全为正数...
分类:
其他好文 时间:
2014-07-08 00:51:25
阅读次数:
353
与折半查找是同一个模式,不同的是,在这里不在查找某个确定的值,而是查找确定值所在的上下边界。
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
按着书里面讲述的方法,根据某一位来将整个数组拆分成两个部分,取每一部分中出现一次的数。书中的处理略显复杂,这里简化下分类的方法。
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