摘要: 解题思路: 用二分查找,找中间的那个数字和左右两边的数字进行比较。 右边的值大于中值,说明最小值在左边# -*- coding:utf-8 -*- class Solution: def minNumberInRotateArray(self, rotateArray): if not rotate 阅读全文
posted @ 2021-04-01 16:55 努力中的小菜鸟 阅读(89) 评论(0) 推荐(0)
摘要: 解题思路: 1、找规律 n=1 f(n)=1 n=2 f(n)=2 n=3 f(n)=4 n=4 f(n)=8 ... 2^(n-1) 2、递归 f(n)=f(n-1)+f(n-2)+.....f(0) f(n-1)=f(n-2)+f(n-3)+....+f(0) f(n)=2f(n-1) # -* 阅读全文
posted @ 2021-04-01 16:12 努力中的小菜鸟 阅读(43) 评论(0) 推荐(0)
摘要: 解题思路:通过找规律,发现其实这也是斐波那契数列 # -*- coding:utf-8 -*- class Solution: def jumpFloor(self, number): #n=1 f(n)=1 #n=2,11,2, f(n)=2 #n=3,111,12,21 f(n)=3 #n=4, 阅读全文
posted @ 2021-04-01 15:58 努力中的小菜鸟 阅读(73) 评论(0) 推荐(0)
摘要: 解题思路: 仔细读题目发现,二维数组的每一行与每一列都是一个递增的关系。 假设二维数组:[[1,2,3,4], [5,6,7,8], [9,10,11,12], [13,14,15,16]] 如果target小于4,说明target一定不在4这一列;如果target大于4,说明target一定不在4 阅读全文
posted @ 2021-04-01 15:43 努力中的小菜鸟 阅读(66) 评论(0) 推荐(0)
摘要: :解题思路: 通过找规律,写出了递归公式: 即f(n)=f(n-1)+f(n-2) 问题:时间复杂度高 通过画图发现:我们可以找两个变量,其中一个变量用来保存计算过程中始终最大的那个数,另外一个变量用来保存计算过程中始终最小的那个数。 阅读全文
posted @ 2021-04-01 15:33 努力中的小菜鸟 阅读(86) 评论(0) 推荐(0)