![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
白菜W同学
这个作者很懒,什么都没留下…
展开
-
剑指offer-10 斐波那契数列
文章目录一、问题描述二、解题方法动态规划 一、问题描述 请写一个函数,输入 n ,求斐波那契(Fibonacci)数列的第 n 项(即 F(N))。斐波那契数列的定义如下: F(0) = 0, F(1) = 1 F(N) = F(N - 1) + F(N - 2), 其中 N > 1. 斐波那契数列由 0 和 1 开始,之后的斐波那契数就是由之前的两数相加而得出。 答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008,请返回 1。 二、解题方法 动态规划.原创 2021-02-25 11:00:00 · 136 阅读 · 0 评论 -
剑指offer-10青蛙跳台阶问题
文章目录一、问题描述二、解题方法动态规划 一、问题描述 一只青蛙一次可以跳上1级台阶,也可以跳上2级台阶。求该青蛙跳上一个 n 级的台阶总共有多少种跳法。 答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008,请返回 1。 二、解题方法 动态规划 复杂度分析 时间复杂度O(N) 空间复杂度O(1) class Solution { public int numWays(int n) { int a=1,b=1,sum; fo.原创 2021-02-25 10:38:30 · 116 阅读 · 0 评论 -
剑指offer-旋转数组的最小数字
文章目录一、问题描述二、解题方法二分法 一、问题描述 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素。例如,数组 [3,4,5,1,2] 为 [1,2,3,4,5] 的一个旋转,该数组的最小值为1。 示例: 输入:[3,4,5,1,2] 输出:1 二、解题方法 二分法 复杂度分析 时间复杂度O(log2N) :在特例情况下(例如 [1, 1, 1, 1]),会退化到 O(N)。 空间复杂度O(1) class Solutio.原创 2021-02-25 10:35:22 · 118 阅读 · 0 评论 -
剑指offer-05替换空格
文章目录一、问题描述二、解题方法创建StringBuilder对象 一、问题描述 请实现一个函数,把字符串 s 中的每个空格替换成"%20"。 示例: 输入:s = “We are happy.” 输出:“We%20are%20happy.” 二、解题方法 创建StringBuilder对象 复杂度分析 时间复杂度O(N) 空间复杂度O(N):Java 新建的 StringBuilder 都使用了线性大小的额外空间。 class Solution { public String replac.原创 2021-02-23 11:07:40 · 70 阅读 · 0 评论 -
剑指offer—二维数组中的查找
文章目录一、问题描述二、解题方法1.暴力2.线性查找 一、问题描述 在一个 n * m 的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个高效的函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 示例: 现有矩阵 matrix 如下: [ [1, 4, 7, 11, 15], [2, 5, 8, 12, 19], [3, 6, 9, 16, 22], [10, 13, 14, 17, 24], [18, 21, 23, 2.原创 2021-02-23 11:03:33 · 68 阅读 · 0 评论 -
剑指offer—数组中重复的数字
文章目录一、问题描述二、解题方法1.哈希表/set2.原地交换 一、问题描述 在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。 示例: 输入:[2, 3, 1, 0, 2, 5, 3] 输出:2 或 3 二、解题方法 1.哈希表/set 复杂度分析 时间复杂度O(N) 空间复杂度O(N):哈希表占用O(N)大小的额外空间 class Solution { .原创 2021-02-23 10:56:54 · 74 阅读 · 0 评论