![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
剑指offer刷题
AI炮灰
这个作者很懒,什么都没留下…
展开
-
剑指offer刷题(6)——数组的旋转
问题描述:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。问题分析:1.暴力搜索但是时间复杂度O(n).2.二分查找这是一道对二分查找算法灵活运用的一道题目。二分查找算法不限于运用在有序数组上。如果能够明确二分之后,答案存在于二分的某一侧,就可以使用二分。本题就是如此。解题代码:...原创 2021-09-06 10:22:51 · 104 阅读 · 0 评论 -
剑指offer刷题(5)——用两个栈实现一个队列
问题描述:用两个栈实现一个队列,完成队列的Push和Pop操作,队列中的元素为int类型思路:模拟题,首先根据栈和队列的特性,栈是先进后出,队列是先进先出,不难得知,将数组元素按1,2,3顺序压入栈后,出栈顺序为3,2,1,改变了一次元素先后顺序,而将元素再压入栈后,出栈顺序即与第一次入栈时相同,实现了先入先出。解法:入栈:栈1入栈即为模拟入队。出栈:栈1在栈2为空的时候,将栈1内元素全部依次出栈再入栈栈2,再出栈2栈顶元素即为出队;在栈2非空的时候,则直接出栈。...原创 2021-09-04 15:28:04 · 107 阅读 · 0 评论 -
剑指offer刷题(4)——字符串空格替换
问题描述:请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。示例:"We Are Happy""We%20Are%20Happy"问题分析:可能有人会直接调用replace函数:这样也可以实现,但是C语言中不存在replace函数,所以我们不用这个,要自己去实现一个replace函数。正确解法:先将每个字符都取出来,一个一个放入新的数组,如果遇到空格就加%2原创 2021-09-04 14:06:27 · 111 阅读 · 0 评论 -
剑指offer刷题(3)——二维数组中的查找
题目描述:在一个二维数组array中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。[[1,2,8,9],[2,4,9,12],[4,7,10,13],[6,8,11,15]]给定 target= 7,返回true。给定target=3,返回false。0 <=array.length<= 5000 <=array[0...原创 2021-09-04 13:40:10 · 130 阅读 · 0 评论 -
剑指offer刷题(2)——青蛙跳台阶及问题扩展
问题描述:一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。示例:输入2,返回值2,输入7返回值21原创 2021-09-04 10:05:02 · 164 阅读 · 2 评论 -
剑指offer刷题(1)——斐波那契数列
描述大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0,第1项是1)n≤39。斐波那契数列:1 1 2 3 5 8 13……后一项是前两项的和n = 0 num=0n=1 num =1n =2 num=1……f(n) = f(n-1)+f(n-2)这样写可以通过吗?感觉是没有问题,但是题目要求输入的是一个整数n,整数包括正数、负数和0,所以我们需要对负数进行处理。我...原创 2021-09-03 21:52:57 · 157 阅读 · 0 评论