2019/07/27 点击:20806
一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法。 fib = lambda n: n if n 第二种记忆方法 def memo(func): cache = {} def wrap(*args): if args not in cache:
2019/07/27 点击:13059
一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。 fib = lambda n: n if n
2019/07/27 点击:4626
我们可以用 2*1 的小矩形横着或者竖着去覆盖更大的矩形。请问用n个 2*1 的小矩形无重叠地覆盖一个 2*n 的大矩形,总共有多少种方法? >第 2*n 个矩形的覆盖方法等于第 2*(n-1) 加上第
2019/07/27 点击:5470
在一个m行n列二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含
2019/07/27 点击:6109
用集合 list(set(l)) 用字典 l1 = ['b','c','d','b','c','a','a']l2 = {}.fromkeys(l1).keys()print l2 用字典并保持顺序 l1 = ['b','c','d','b','c','a','a']l2 = list(set(l1))l2.sort(key=l1.index)print l2 列表推导式 l1 = ['b','c',
2019/07/27 点击:6497
1->2->3->4 转换成 2->1->4->3 . class ListNode: def __init__(self, x): self.val = x self.next = Noneclass Solution: # @param a ListNode # @return a ListNode def swapPairs(self, head): if head != None and head.next != None: next = head.nex
2019/07/27 点击:6381
1 直接创建 dict = {'name':'earth', 'port':'80'} 2 工厂方法 items=[('name','earth'),('port','80')]dict2=dict(items)dict1=dict((['name','earth'],['port','80'])) fromkeys()方法 dict1={}.fromkeys(('x','y'),-1)dict={'x':-1,'y':-1}dict2
2019/07/27 点击:4911
知乎远程面试要求编程 > 尾递归 def _recursion_merge_sort2(l1, l2, tmp): if len(l1) == 0 or len(l2) == 0: tmp.extend(l1) tmp.extend(l2) return tmp else: if l1[0] > 循环算法 思路: 定义一个新的空列表 比较两个列表
2019/07/27 点击:4527
其实思想可以按照从尾开始比较两个链表,如果相交,则从尾开始必然一致,只要从尾开始比较,直至不一致的地方即为交叉点,如图所示 # 使用a,b两个list来模拟链表,可以看出交叉点
2019/07/27 点击:7109
#coding:utf-8def binary_search(list, item): low = 0 high = len(list) - 1 while low item: high = mid - 1 elif guess 参考: http://blog.csdn.net/u013205877/article/details/76411718