lintcode 入门篇

1、(336)斐波纳契数列
描述:查找斐波纳契数列中第 N 个数。
所谓的斐波纳契数列是指:前2个数是 0 和 1 。第 i 个数是第 i-1 个数和第i-2 个数的和。斐波纳契数列的前10个数字是:0, 1, 1, 2, 3, 5, 8, 13, 21, 34 …
样例:给定 1,返回 0。给定 2,返回 1。给定 10,返回 34
开始的程序,时间上不能通过:

    def fibonacci(self, n):
        if n==1:
            return 0
        elif n==2:
            return 1
        else:
            return self.fibonacci((n - 1)) + self.fibonacci((n - 2))
        # write your code here

修改

    def fibonacci(self, n):
        a = [0,1]
        if n==1:return 0
        elif n==2:return 1
        for i in range(2,n):
            a.append(a[-1]+a[-2])
        return a[n-1]

2、(452.) 删除链表中的元素

描述:删除链表中等于给定值val的所有节点。
样例:给出链表 1->2->3->3->4->5->3, 和 val = 3, 你需要返回删除3之后的链表:1->2->4->5。
链表的删除
直接pre之下current.next
注意:如果删除的是头结点怎么办–新建节点,指向头结点

    def removeElements(self, head, val):
        a = ListNode(0)  
        a.next = head  
        cur = head  
        pre = a  
        while cur:  #遍历链表
            if cur.val == val:  
                pre.next = cur.next  #删除
            else:  
                pre = pre.next  
            cur = cur.next  
        return a.next 

3、(454. )矩阵面积
描述:实现一个矩阵类Rectangle,包含如下的一些成员变量与函数:两个共有的成员变量 width 和 height 分别代表宽度和高度。
一个构造函数,接受2个参数 width 和 height 来设定矩阵的宽度和高度。
一个成员函数 getArea,返回这个矩阵的面积。
样例:
Java:
Rectangle rec = new Rectangle(3, 4);
rec.getArea(); // should get 12

Python:
rec = Rectangle(3, 4)
rec.getArea()

class Rectangle:

    '''
     * Define a constructor which expects two parameters width and height here.
    '''
    def __init__(self, width,height):
        self.width = width
        self.height=height
    def getArea(self):
        return self.width*self.height

4、(466) 链表节点计数
描述:计算链表中有多少个节点.
样例:给出 1->3->5, 返回 3.

    def countNodes(self, head):
        a = ListNode(0)
        pre = a
        a.next = head
        cur = head
        count =0
        while cur :
            count+=1
            pre = cur 
            cur = cur.next
        return count

5、632. 二叉树的最大节点
描述:在二叉树中寻找值最大的节点并返回。
样例:给出如下一棵二叉树:
1
/ \
-5 2
/ \ / \
0 3 -4 -5
返回值为 3 的节点。

猜你喜欢

转载自blog.csdn.net/fangafangxiaoniu/article/details/78951151