6-10题

作者: yy辰 | 来源:发表于2018-10-07 10:46 被阅读32次

6、跳台阶
一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法。跟斐波那契数列类似

class Solution(object):
    def climbStairs(self, n):
        """
        :type n: int
        :rtype: int
        """
        if n==0:
            return 0
        elif n==1:
            return 1
        elif n==2:
            return 2
        else:
            memory = [1, 2]
            for i in range(2, n):
                memory.append(memory[i-1]+memory[i-2])
            return memory[-1]

7、变态跳台阶
一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。

class Solution(object):
    def climbStairs(self, n):
        if n==0:
            return 0
        elif n==1:
            return 1
        else:
            memory = [1]
            for i in range(1,n):
                memory.append(sum(memory)+1)
            return memory[-1]

8、矩形覆盖
我们可以用2 * 1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个21的小矩形无重叠地覆盖一个2n的大矩形,总共有多少种方法?
不会做,上网查了下结果也是个斐波那契数列。😰

class Solution:
    def rectCover(self, number):
        if number<=2:
            return number
        dp = [1,2]
        for i in range(number-2):
            dp.append(dp[-1]+dp[-2])
        return dp[-1]

9、把字符串转换成整数
将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0 。
不能用字符串转换整数的库函数,第一反应是用eval函数,不知道算不算字符串转整数的库函数😰。

class Solution:
    def StrToInt(self, s):
        if (s[0].isdigit()) or (s[0] in ['-', '+']):
            for i in s[1:]:
                if not i.isdigit():
                    return 0
                    break
            else:
                return eval(s)
        else:
            return 0

10、平衡二叉树的判断
判断一个二叉树是否平衡二叉树。平衡二叉树的定义:平衡二叉树是一颗空树或者它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树。

class Solution(object):
    def isBalanced(self, root):
        """
        :type root: TreeNode
        :rtype: bool
        """
        def maxdepth(root):
            if not root:
                return 0
            else:
                ldepth = 1 + maxdepth(root.left)
                rdepth = 1 + maxdepth(root.right) 
                return max(ldepth, rdepth)
        
        if not root:
            return True
        else:
            if abs(maxdepth(root.right)-maxdepth(root.left)) > 1:
                return False
            return self.isBalanced(root.left) and self.isBalanced(root.right)

相关文章

  • MySQL经典50题-第6-10题

    MySQL50-4-第6-10题 本文中介绍的是第6-10题,涉及到的主要知识点: 模糊匹配和通配符使用 表的自连...

  • 6-10题

    6、跳台阶一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法。跟斐波那契数列...

  • 第九章 德育

    单项选择题1-5 CCDBC 6-10 DCCCC 11-15 DCDDC16-20 ADAAA 21-2...

  • linux作业6-10题

    六.在第五题创建的每一个文件夹下面都 创建第二题文本文件 me.txt ,内容也要一样。 按jimmy的教程用to...

  • 陈景辉理论法金题答案

    社会主义法治理论 一、单选 1-5 BDCAC 6-10 DBCCA 二、多项选择题 11.AC 1...

  • 深度学习面试100题(第6-10题)

    一、CNN的卷积核是单层的还是多层的? 解析: 一般而言,深度卷积网络是一层又一层的。层的本质是特征图, 存贮输入...

  • 5套剑雅,4个方法过雅思 | 老师纯干货

    这是一篇干货来自Larry老师的纯干货。 备考雅思所需材料: 1.剑桥官方考题6-10,共5套真题。 2.听说读写...

  • 前端(vue)面试题答案分享

    首先还是把之前留的悬念给大家揭晓,6-10题的答案, 6.Vue中如何监控某个属性值的变化? 比如现在需要监控da...

  • 29.12.17

    28: 口语模拟五 29: 口语模拟6-10

  • 读经笔记02

    读经内容:创6-10 & 太6-10 读经感悟: 神记念挪亚和挪亚方舟里的一切走兽牲畜。神叫风吹地,水势渐落。(创...

网友评论

      本文标题:6-10题

      本文链接:https://www.haomeiwen.com/subject/poyqaftx.html