
剑指offer刷题
AI炮灰
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
剑指offer刷题(6)——数组的旋转
问题描述: 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。 问题分析: 1.暴力搜索 但是时间复杂度O(n). 2.二分查找 这是一道对二分查找算法灵活运用的一道题目。二分查找算法不限于运用在有序数组上。如果能够明确二分之后,答案存在于二分的某一侧,就可以使用二分。本题就是如此。 解题代码: ...原创 2021-09-06 10:22:51 · 160 阅读 · 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 · 137 阅读 · 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 · 140 阅读 · 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<= 500 0 <=array[0...原创 2021-09-04 13:40:10 · 174 阅读 · 0 评论 -
剑指offer刷题(2)——青蛙跳台阶及问题扩展
问题描述: 一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。 示例: 输入2,返回值2,输入7返回值21原创 2021-09-04 10:05:02 · 194 阅读 · 2 评论 -
剑指offer刷题(1)——斐波那契数列
描述 大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0,第1项是1)n≤39。 斐波那契数列: 1 1 2 3 5 8 13…… 后一项是前两项的和 n = 0 num=0 n=1 num =1 n =2 num=1 …… f(n) = f(n-1)+f(n-2) 这样写可以通过吗? 感觉是没有问题,但是题目要求输入的是一个整数n,整数包括正数、负数和0,所以我们需要对负数进行处理。 我...原创 2021-09-03 21:52:57 · 215 阅读 · 0 评论