刷题小技巧
blank4569
-------------------
展开
-
卡特兰数
卡特兰数卡特兰数是组合数学中一个常在各种计数问题中出现的数列。 h(0) = 1 h(1) = 1 递推公式: h(n) = h(0)*h(n-1) + … + h(n-1)h(0) (n >= 2) h(n) = h(n-1)*(4n-2)/(n+1) 递推公式的解:h(n) = C(2n,n)/(n+1) h(n)...原创 2018-05-12 21:39:10 · 1483 阅读 · 0 评论 -
判断质数
判断思路 在一般领域,对正整数n,如果用2到 之间的所有整数去除,均无法整除,则n为质数。 质数大于等于2 不能被它本身和1以外的数整除代码实现import mathdef isSushu(n): if n <= 1: return False if n == 2: return True for i...原创 2018-05-03 14:44:53 · 495 阅读 · 1 评论 -
刷题小技巧_while true
在刷剑指offer的时候,发现很多高效的代码在主程序入口处会使用while true try except 的改写方式。这种改写方式会使程序更加高效,鲁棒性更强。def func(): passwhile True: try: func() # do something such as print or something else ex...原创 2018-05-03 08:26:10 · 502 阅读 · 0 评论 -
合并两个有序链表
题目描述:合并两个已排序的链表,并将其作为一个新列表返回。新列表应该通过拼接前两个列表的节点来完成。 解题思路:构造一个新的链表空间,利用链表的next依次组合,不难,就是生疏了忘了链表看了下。代码:# Definition for singly-linked list.#class ListNode(object):# def __init__(self, x):# s...原创 2018-04-03 19:09:49 · 203 阅读 · 0 评论