[剑指offer]我的算法刷题之路

这段时间比较空闲,希望能够把《剑指offer》上面的题目过一遍,同时通过本文记录自己的刷题过程与遇到的问题。

刷题的语言采用Java,题目顺序按照以下tag分类进行:

目录

[查找]:

1.二维数组的查找

21.旋转数组的最小数字

52.数字在升序数组中出现的次数


[查找]:

1.二维数组的查找

在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。

[剑指offer]我的算法刷题之路

21.旋转数组的最小数字

把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。
输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。
例如数组[3,4,5,1,2]为[1,2,3,4,5]的一个旋转,该数组的最小值为1。
NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。

[剑指offer]我的算法刷题之路

52.数字在升序数组中出现的次数

在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。

[剑指offer]我的算法刷题之路