02 2020 档案

摘要:题目描述 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。 思路 根据定义, 阅读全文
posted @ 2020-02-28 21:34 Flix 阅读(145) 评论(0) 推荐(0)
摘要:题目描述 一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。 思路 当台阶为1级时,共1种方法;当为2级时,共2种方法;当为3级时,共3中方法。以此类推,有n级台阶时,共f(n)=f(n 1)+f(n 2), n 2, f(1) = 阅读全文
posted @ 2020-02-24 22:46 Flix 阅读(106) 评论(0) 推荐(0)
摘要:题目描述 大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0)。 n<=39 思路1 使用递归。 但由于这个问题的递归的时间复杂度为指数(O(2^n)),牛客网上没有通过。 思路2 使用循环。 代码如下: 阅读全文
posted @ 2020-02-18 22:48 Flix 阅读(138) 评论(0) 推荐(0)
摘要:题目描述 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。 思路 假设有两个栈stack1和stack2。我们向stack1中依次压入3个元素:a,b,c。队列是先进先出的,所以我们想让a先出栈,但此时c在栈顶。这时可以利用另一个栈stack2,将stack1中的 阅读全文
posted @ 2020-02-18 21:47 Flix 阅读(141) 评论(0) 推荐(0)
摘要:题目描述 给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针。 思路1 二叉树的中序遍历顺序为:左孩子,根,右孩子。而一个节点也只会有3种情况:该节点是其父节点的左孩子;该节点是其父节点的右孩子;该节点无父节点,是根节 阅读全文
posted @ 2020-02-18 20:17 Flix 阅读(166) 评论(0) 推荐(0)
摘要:题目描述 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。 思路 在二叉树的前序遍历序列中,第一个值总是二叉树的 阅读全文
posted @ 2020-02-18 16:02 Flix 阅读(105) 评论(0) 推荐(0)