
剑指offer (python版)
Chucy_cqu
搞懂问题的本质
展开
-
剑指offer/Python版、JZ9/跳台阶扩展问题、解题思路详述
剑指offer/JZ9/Python版、详细解释题目:跳台阶扩展问题解题思路代码实现 题目:跳台阶扩展问题 题目描述: 一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶(n为正整数)总共有多少种跳法。 示例1 输入:3 返回值:4 解题思路 本题与上面跳台阶问题的不同就在于本题不限一次所跳台阶的次数,它的解题思路主要用到动态规划,即分析第一次跳不同台阶数剩下的台阶的跳法来得到高度为n阶台阶所有的跳法数。 同上篇跳台阶文章可知,对于n阶台阶,该问题的表达式为:原创 2021-09-06 22:08:46 · 116 阅读 · 0 评论 -
剑指offer/Python版、JZ8/跳台阶,解题思路详述
剑指offer/JZ8/Python版、详细解释题目:跳台阶解题思路代码实现 题目:跳台阶 题目描述: 一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。 示例1 输入:2 返回值:2 示例2 输入:7 返回值:21 解题思路 本题的解题思路主要是通过分析第一次分别跳1级和2级剩下台阶高度的跳法数,来得到当前台阶高度n的跳法数的函数关系式(即两种剩下跳法的和)。 具体分析如下: 先看清题目所给的条件,每次只能跳1级或者2级,假设台阶原创 2021-09-06 21:44:40 · 92 阅读 · 0 评论 -
剑指offer/Python版、JZ5/用两个栈实现队列、解题思路详述
剑指offer/JZ5/Python版、详细解释题目:用两个栈实现队列解题思路代码实现 题目:用两个栈实现队列 题目描述:用两个栈来实现一个队列,分别完成在队列尾部插入整数(push)和在队列头部删除整数(pop)的功能。 队列中的元素为int类型。保证操作合法,即保证pop操作时队列内已有元素。 示列 输入: [“PSH1”,“PSH2”,“POP”,“POP”] 返回: 1,2 解析: “PSH1”:代表将1插入队列尾部 “PSH2”:代表将2插入队列尾部 "POP“:代表删除一个元素,先进先出=&g原创 2021-09-06 21:09:43 · 106 阅读 · 0 评论 -
剑指offer/Python版、JZ11/二进制中1的个数,解题思路详述
#剑指offer-JZ11(Python版) ##题目:二进制中1的个数 题目描述:输入一个整数,输出该数32位二进制表示中1的个数。其中负数用补码表示。 示例1 输入:10 返回值:2原创 2021-09-06 17:05:05 · 113 阅读 · 0 评论