摘要: 一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。 题解: 这是一道经典的递推题目,你可以想如果青蛙当前在第n级台阶上,那它上一步是在哪里呢? 显然,由于它可以跳1级台阶或者2级台阶,所以它上一步必定在第n-1,或者第n-2级台阶, 阅读全文
posted @ 2020-04-25 18:53 王余阳 阅读(245) 评论(0) 推荐(0)
摘要: 写一个函数,输入 n ,求斐波那契(Fibonacci)数列的第 n 项。斐波那契数列的定义如下: F(0) = 0, F(1) = 1F(N) = F(N - 1) + F(N - 2), 其中 N > 1.斐波那契数列由 0 和 1 开始,之后的斐波那契数就是由之前的两数相加而得出。 答案需要取 阅读全文
posted @ 2020-04-25 18:37 王余阳 阅读(315) 评论(0) 推荐(0)
摘要: 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素。例如,数组 [3,4,5,1,2] 为 [1,2,3,4,5] 的一个旋转,该数组的最小值为1。 示例 1: 输入:[3,4,5,1,2]输出:1示例 2: 输入:[2,2,2 阅读全文
posted @ 2020-04-25 18:11 王余阳 阅读(251) 评论(0) 推荐(0)
摘要: 请你仅使用两个栈实现先入先出队列。队列应当支持一般队列的支持的所有操作(push、pop、peek、empty) import java.util.Stack; class MyQueue { Stack<Integer> inStack; Stack<Integer> outStack; /** 阅读全文
posted @ 2020-04-25 17:29 王余阳 阅读(222) 评论(0) 推荐(0)
摘要: 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。 算法解析:参照 https://www.bilibili.co 阅读全文
posted @ 2020-04-25 16:44 王余阳 阅读(178) 评论(0) 推荐(0)
摘要: 输入一个链表,按链表从尾到头的顺序返回一个ArrayList。 1 /** 2 * public class ListNode { 3 * int val; 4 * ListNode next = null; 5 * 6 * ListNode(int val) { 7 * this.val = va 阅读全文
posted @ 2020-04-25 16:39 王余阳 阅读(92) 评论(0) 推荐(0)
摘要: 请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。 解法一:直接使用替换语句 1 /*替换空格*/ 2 public String replaceSpace(StringBuffer str) 阅读全文
posted @ 2020-04-25 16:13 王余阳 阅读(199) 评论(0) 推荐(0)