摘要: 斐波那契数列 题目:要求输入一个整数n,请你输出斐波那契数列的第n项 A1:教科书方法,递归,但是时间复杂度随着n的增大而递增 > 不实用 A2:可以把得到的数列中间项保存起来,避免重复计算 > 时间复杂度O(n) A3:数据公式(太高级了,不太懂) //O(n)方法,保存中间项 相关题目: 求和( 阅读全文
posted @ 2019-08-25 23:42 XieXinBei0318 阅读(174) 评论(0) 推荐(0) 编辑
摘要: 题目:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。 我原本看不太懂题目, 阅读全文
posted @ 2019-08-25 23:18 XieXinBei0318 阅读(102) 评论(0) 推荐(0) 编辑
摘要: 题目:用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。 A:栈是先进后出的数据结构,队列是先进先出的数据结构。 入队push:直接压入栈1 出队pop:若栈2有元素,则取栈顶 若栈2无元素,将栈1的元素逐一压入栈2中,使得栈顶元素到了栈低,栈低元素到了栈顶,实现了 阅读全文
posted @ 2019-08-25 21:31 XieXinBei0318 阅读(168) 评论(0) 推荐(0) 编辑
摘要: 题目:输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。 A:前序遍历中第一个为根节点,由前序遍历可以再中序遍历中 阅读全文
posted @ 2019-08-25 21:21 XieXinBei0318 阅读(150) 评论(0) 推荐(0) 编辑
摘要: 题目:在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。 例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出是第一个重复的数字2。 A1:因为数字有范围,所以 阅读全文
posted @ 2019-08-25 20:43 XieXinBei0318 阅读(163) 评论(0) 推荐(0) 编辑
摘要: 题目:从尾到头反转链表。输入一个链表,按链表从尾到头的顺序返回一个ArrayList。 A1:将链表反转,再从头到尾输出到vector中。 > 改变链表的结构 A2:从头到尾输出链表到vector中,在将vector反抓(反向迭代器) A3:反向输出是一个先进后出的概念,所以可以用栈来实现这个顺序。 阅读全文
posted @ 2019-08-25 16:31 XieXinBei0318 阅读(221) 评论(0) 推荐(0) 编辑
摘要: 题目:请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。 A1:正常思路:从头到尾草庙字符串,每次碰到空格字符则把后面的字符后移2字节,再插入“%20”。时间复杂度O(n2) >有重复的字符被 阅读全文
posted @ 2019-08-25 04:10 XieXinBei0318 阅读(256) 评论(0) 推荐(0) 编辑
摘要: 题目:在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 假设:要查找数字7 A1:如果一个一个比较的话时间复杂度是O(n2) A2:首先选取数组中右上角的数 阅读全文
posted @ 2019-08-25 03:11 XieXinBei0318 阅读(339) 评论(0) 推荐(0) 编辑