- 博客(6)
- 收藏
- 关注
原创 剑指offer JZ4 二维数组中的查找
在一个二维数组array中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。[ [1,2,8,9], [2,4,9,12], [4,7,10,13], [6,8,11,15] ] 给定 target = 7,返回 true。给定 target = 3,返回 false。数据范围:矩阵的长宽满足 , 矩阵中的值满足 进阶:空间复杂度 ,时间复杂度示例1。
2023-10-09 09:23:07
47
1
原创 剑指offer JZ3 数组中重复的数字
在一个长度为n的数组里的所有数字都在0到n-1的范围内。数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。例如,如果输入长度为7的数组[2,3,1,0,2,5,3],那么对应的输出是2或者3。存在不合法的输入的话输出-1。
2023-09-27 22:19:09
43
1
原创 LeetCode 42:接雨水
输出:6解释:上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,在这种情况下,可以接 6 个单位的雨水(蓝色部分表示雨水)。虽然不知道后缀,但是只要满足当前元素的前缀比最后已知元素的后缀小,那么第一个柱子前缀一定比后面的后缀小!输入:height = [0,1,0,2,1,0,1,3,2,1,2,1]思路:一个柱子能接多少水,取决于他前面的全部柱子和后面的全部柱子的最小值。输入:height = [4,2,0,3,2,5]同样,对于最后一个元素而言,它的最大后缀是知道的。
2023-09-26 20:26:24
60
原创 LeetCode 11:盛水最多的容器
有 n 条垂线,第 i 条线的两个端点是 (i, 0) 和 (i, height[i])。1. 新的板子比短板长,那么新的容器宽变短,长不变,面积变小。2. 新的板子比短板短,那么新的容器宽变短,长变短,面积变小。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。如果咱们要找更大盛水的两个板子,那肯定得去掉短板。3. 如果新的面积大于result,更新。2. 去掉短板,首尾值比较,谁短谁变化;1. 首尾面积最大,首尾指针;假设选择首尾时,盛水最多。返回容器可以储存的最大水量。
2023-09-25 17:06:06
51
2
原创 希尔排序及其代码
希尔排序的基本思想是:先将整个待排序的记录序列分割成为若干子序列分别进行直接插入排序,待整个序列中的记录"基本有序"时,再对全体记录进行依次直接插入排序。
2023-06-15 10:07:34
105
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人