Sakuta Azusagawa
Sakuta Azusagawa
全部文章
分类
Golang(8)
Java(22)
Leetcode题解(108)
Redis(1)
剑指Offer(56)
操作系统(2)
计算机组成原理(1)
计算机网络(3)
设计模式(17)
归档
标签
去牛客网
登录
/
注册
youzhihua的博客
有志者,事竟成,破釜沉舟,百二秦关终属楚;苦心人,天不负,卧薪尝胆,三千越甲可吞吴
全部文章
(共59篇)
跳台阶
题目描述 一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。 思路 1.可以先算出前5个台阶的解法,分别为1,2,3,5,8。2.发现这是斐波那契数列的变形,也可以使用动态规划求解,状态转移方程为:dp[i] = dp[i-1]+d...
算法
Java
剑指Offer
2019-12-09
0
489
斐波那契数列
题目描述 大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0)。n<=39 思路 1.可以使用递归求解,也可以使用动态规划求解。2.推荐使用动态规划求解,防止递归栈太深导致栈溢出。 Java代码实现 /** * 递归解法 ...
算法
Java
剑指Offer
2019-12-09
0
427
旋转数组的最小数字
题目描述 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。 思路 1.使用二...
剑指Offer
算法
Java
Golang
2019-12-09
0
416
用两个栈实现队列
题目描述 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。 思路 1.栈是先进后出的,而队列是先进先出的,我们只需要使用两个栈配合,将顺序改为与队列相同即可。2.将其中一个栈只用来压入元素,另一个栈只用于弹出元素。3.当需要弹出元素时,判断负责弹出元素的栈的栈顶是...
算法
Java
剑指Offer
2019-10-25
0
485
重建二叉树
题目描述 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。 思路 1.使用递归的思想求解。2.二叉树前序遍历的第...
Java
算法
剑指Offer
2019-10-25
0
402
从尾到头打印链表
题目描述 输入一个链表,按链表从尾到头的顺序返回一个ArrayList。 思路 1.使用递归的思想求解。2.当链表当前节点的值不为空时,将该链表的下一个节点压入方法栈,递归结束的条件是链表结点为空。 Java代码实现 import java.util.ArrayList; public class...
算法
Java
剑指Offer
2019-10-23
0
494
替换空格
题目描述 请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。 思路 1.我们可以发现空格和要被替换的字符串长度相差2,所以我们可以对原数据进行一次扫描,若发现空格就将给字符串新增两个空格填充,...
算法
Java
剑指Offer
2019-10-23
0
525
二维数组中的查找
题目描述 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 思路 1.从二维数组的右上角开始搜索,若target大于当前元素,我们的检索方向就向下,若小于,...
剑指Offer
算法
2019-10-22
0
520
2.两数相加
题目描述 给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。 如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。 您可以假设除了数字 0 之外,这两个数都不会以 0 开头。 示例: 输入:(2 -&g...
剑指Offer
算法
Java
Golang
2019-09-27
0
499
首页
上一页
1
2
3
4
5
6
下一页
末页