码迷,mamicode.com
首页 >  
搜索关键字:剑指offer    ( 3728个结果
【剑指offer】第一个只出现一次的数
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
【剑指offer】数组中的逆序对
# @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
【剑指offer】Q19:二叉树的镜像
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
【剑指offer】连续子数组的最大和
转载请注明出处:http://blog.csdn.net/ns_code/article/details/27103959题目描写叙述:HZ偶尔会拿些专业问题来忽悠那些非计算机专业的同学。今天JOBDU測试组开完会后,他又发话了:在古老的一维模式识别中,经常须要计算连续子向量的最大和,当向量全为正数...
分类:其他好文   时间:2014-07-08 00:51:25    阅读次数:353
【剑指offer】Q38:数字在数组中出现的次数
与折半查找是同一个模式,不同的是,在这里不在查找某个确定的值,而是查找确定值所在的上下边界。 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
【剑指offer】Q5:从尾到头打印链表
可以练习下链表的逆置。 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
【剑指offer】Q6:重建二叉树
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
【剑指offer】:Q44:扑克牌的顺子
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
【剑指offer】q34:丑数
题目要求第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
【剑指offer】Q40:数组中出现一次的数字
按着书里面讲述的方法,根据某一位来将整个数组拆分成两个部分,取每一部分中出现一次的数。书中的处理略显复杂,这里简化下分类的方法。 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
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!