剑指Offer-Python(6-10)
6、旋转数组的最小数字
class Solution:
def minNumberInRotateArray(self, rotateArray):
l = len(rotateArray)
if l == 0:
return 0 for i in rotateArray:
if rotateArray[0] > i:
return i
return rotateArray[0] s = Solution()
t = [3, 4, 5, 1, 2]
min = s.minNumberInRotateArray(t)
print(min)
7、斐波那契数列
用递归也写了,但是好像太耗时,牛客这边系统不给过
# -*- coding:utf-8 -*-
class Solution:
def Fibonacci(self, n):
# write code here
f = [0, 1, 1]
if n <= 1:
return f[n]
if n == 2:
return f[2]
else:
for i in range(3, n+1):
f.append(f[i - 1] + f[i - 2])
return f[n] s = Solution()
print(s.Fibonacci(2))
print(s.Fibonacci(3))
print(s.Fibonacci(4))
print(s.Fibonacci(5))
8、跳台阶
因为只有两种步伐(一次跳一阶或一次跳两阶)。比如跳八个台阶时:当最后一步跳一节是一类跳法(此时前七阶的跳法有跳七个台阶的跳法);当最后一步跳两阶是另一种跳法(此时前6阶的跳法有跳6个台阶的跳法),因此得到规律,if n>2,f(n) = f(n+1)+f(n-2)
class Solution:
def jumpFloor(self, number):
f = [0, 1, 2]
if number <= 2:
return f[number]
else:
for i in range(3, number+1):
f.append(f[i - 1] + f[i - 2])
return f[number] s = Solution()
print(s.jumpFloor(1))
print(s.jumpFloor(2))
print(s.jumpFloor(3))
print(s.jumpFloor(4))
print(s.jumpFloor(5))
9、变态跳台阶
根据第八题思路,由每步可以跨1-n阶,根据最后一步,可以分为n种类型。f(n) = f(1)+f(2)+....+f(n-2)+f(n-1) ; f(n) = 2*f(n-1)
class Solution:
def jumpFloorII(self, number):
# write code here
f = [0,1,2]
for i in range(3,number+1):
f.append(2*f[i-1])
return f[number] s = Solution()
print(s.jumpFloorII(5))
10、矩形覆盖

# -*- coding:utf-8 -*-
class Solution:
def rectCover(self, number):
# write code here
f = [0, 1, 2]
for i in range(3, number + 1):
f.append(f[i - 1] + f[i - 2])
return f[number] s = Solution()
print(s.rectCover(4))
剑指Offer-Python(6-10)的更多相关文章
- 剑指offer——python【第54题】字符流中第一个不重复的字符
题目描述 请实现一个函数用来找出字符流中第一个只出现一次的字符.例如,当从字符流中只读出前两个字符"go"时,第一个只出现一次的字符是"g".当从该字符流中读出 ...
- 剑指offer(leetcode 10.) 正则表达式匹配
这题一年前就做过,当时刚开始刷leetcode,提交了几十次过不去,就放那没管了.今天剑指offer又遇到这题,终于做出来了,用的dp. class Solution { public: bool i ...
- 剑指offer第二版-10.斐波那契数列
面试题10:斐波那契数列 题目要求: 求斐波那契数列的第n项的值.f(0)=0, f(1)=1, f(n)=f(n-1)+f(n-2) n>1 思路:使用循环从下往上计算数列. 考点:考察对递归 ...
- 剑指offer——python【第23题】二叉搜索树的后序遍历序列
题目描述 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果.如果是则输出Yes,否则输出No.假设输入的数组的任意两个数字都互不相同. 解题思路 首先要清楚,这道题不是让你去判断一个给定 ...
- 剑指offer——python【第38题】二叉树的深度
题目描述 输入一棵二叉树,求该树的深度.从根结点到叶结点依次经过的结点(含根.叶结点)形成树的一条路径,最长路径的长度为树的深度. 解题思路 想了很久..首先本渣渣就不太理解递归在python中的实现 ...
- 剑指offer——python【第28题】数组 中出现次数超过一半的数字
题目描述 数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字.例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}.由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2. ...
- 剑指offer——python【第31题】整数1出现的次数
题目描述 求出1~13的整数中1出现的次数,并算出100~1300的整数中1出现的次数?为此他特别数了一下1~13中包含1的数字有1.10.11.12.13因此共出现6次,但是对于后面问题他就没辙了. ...
- 剑指offer——python【第49题】把字符串转换成整数
题目描述 将一个字符串转换成一个整数(实现Integer.valueOf(string)的功能,但是string不符合数字要求时返回0),要求不能使用字符串转换整数的库函数. 数值为0或者字符串不是一 ...
- 剑指offer——python【第43题】左旋转字符串
题目描述 汇编语言中有一种移位指令叫做循环左移(ROL),现在有个简单的任务,就是用字符串模拟这个指令的运算结果.对于一个给定的字符序列S,请你把其循环左移K位后的序列输出.例如,字符序列S=”abc ...
- 剑指offer——python【第44题】翻转单词顺序
题目描述 牛客最近来了一个新员工Fish,每天早晨总是会拿着一本英文杂志,写些句子在本子上.同事Cat对Fish写的内容颇感兴趣,有一天他向Fish借来翻看,但却读不懂它的意思.例如,“student ...
随机推荐
- 每日一题 LeetCode 491. 递增子序列 【递推】【递增子序列】【动态规划】
题目链接 https://leetcode-cn.com/problems/increasing-subsequences/ 题目说明 题解 主要方法:递推:动态规划 解释说明: 数据表示:观察数据范 ...
- 在nginx下导出数据库数据
首先上干货 解决问题 set_time_limit(0); //设置脚本运行时间为不限制 因为php脚本默认时间为30秒 ini_set('memory_limit', -1); //取消脚本运行内存 ...
- C# 中 System.Index 结构体和 Hat 运算符(^)的全新用法
翻译自 John Demetriou 2019年2月17日 的文章 <C# 8 – Introducing Index Struct And A Brand New Usage For The ...
- 多测师讲解python _string_高级讲师肖sir
import stringprint (string.ascii_letters )#大小写英文:'#abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVW ...
- linq 整理(前序)
前言 对linq进行整理,分为前序.中序和后序. 前序就是一些简单的概念和模拟. 中序的话就是深挖一些思想. 后序对其进行解刨. 正文 语言集成查询 (LINQ) 是一系列直接将查询功能集成到 C# ...
- 移动吉比特H2-2光猫超级用户与密码
移动吉比特H2-2光猫超级用户与密码 超级用户名CMCCAdmin 密码aDm8H%MdA----------------版权声明:本文为CSDN博主「BenSon.Album」的原创文章,遵循CC ...
- 四年了自学了C/C++那么久,还写不出项目,正常吗?
前言: 这是之前在V2EX职场话题里看到的一个话题,类似的小编身边人呢也有相似的困扰. 现在大学里基本都开设了计算机课程,看了那么多相关知识性的书,但学了四年出来,仍然写不出项目,这肯定是有问题的. ...
- Linux入门到放弃之一《在VMware虚拟机中安装Linux系统(RedHat)》
1.启动VMware: 2.新建虚拟机: 3.自定义配置(1安装客户机操作系统点击"稍后安装操作系统"2选择客户机操作系统为Linux,版本为Red Hat Enterprise ...
- JavaWeb宿舍管理系统(附 演示、源码下载地址)
宿舍管理是高校管理的重要组成部分,一套优秀的管理系统不仅可以降低宿舍管理的难度,也能在一定程度上减少学校管理费用的支出,能是建设现代化高校管理体系的重要标志. 本篇文章将带你从运行环境搭建.系统设计. ...
- Django( 学习第五部 Django之模板语法)
目录 模板语法 --- 传值 摸板语法 --- 过滤器 模板语法 --- 标签 自定义过滤器.标签.inclusion_tag 模板的继承 模板语法 --- 传值 {{}} 变量相关 {% ...