
二分查找
文章平均质量分 57
Ashiu
这个作者很懒,什么都没留下…
展开
-
74. 搜索二维矩阵
输入:matrix = [[1,3,5,7],[10,11,16,20],[23,30,34,60]], target = 13。输入:matrix = [[1,3,5,7],[10,11,16,20],[23,30,34,60]], target = 3。给你一个整数 target ,如果 target 在矩阵中,返回 true;否则,返回 false。链接:https://leetcode.cn/problems/summary-ranges。每行的第一个整数大于前一行的最后一个整数。原创 2024-08-09 08:10:35 · 569 阅读 · 0 评论 -
162. 寻找峰值
给你一个整数数组 nums,找到峰值元素并返回其索引。数组可能包含多个峰值,在这种情况下,返回 任何一个峰值 所在位置即可。链接:https://leetcode.cn/problems/summary-ranges。商业转载请联系官方授权,非商业转载请注明出处。你可以假设 nums[-1] = nums[n] = -∞。输入:nums = [1,2,1,3,5,6,4]解释:你的函数可以返回索引 1,其峰值元素为 2;峰值元素是指其值严格大于左右相邻值的元素。或者返回索引 5, 其峰值元素为 6。原创 2024-08-09 08:09:48 · 207 阅读 · 0 评论 -
33. 搜索旋转排序数组
在传递给函数之前,nums 在预先未知的某个下标 k(0原创 2024-08-09 03:25:23 · 406 阅读 · 0 评论 -
34. 在排序数组中查找元素的第一个和最后一个位置
给你一个按照非递减顺序排列的整数数组 nums,和一个目标值 target。请你找出给定目标值在数组中的开始位置和结束位置。输入:nums = [5,7,7,8,8,10], target = 8。输入:nums = [5,7,7,8,8,10], target = 6。著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。如果数组中不存在目标值 target,返回 [-1, -1]。输入:nums = [], target = 0。输出:[-1,-1]输出:[-1,-1]原创 2024-08-09 03:24:32 · 210 阅读 · 0 评论 -
35. 搜索插入位置
给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。链接:https://leetcode.cn/problems/summary-ranges。商业转载请联系官方授权,非商业转载请注明出处。输入: nums = [1,3,5,6], target = 5。输入: nums = [1,3,5,6], target = 2。输入: nums = [1,3,5,6], target = 7。请必须使用时间复杂度为 O(log n) 的算法。原创 2024-08-09 03:21:51 · 181 阅读 · 0 评论 -
153. 寻找旋转排序数组中的最小值
注意,数组 [a[0], a[1], a[2], …, a[n-1]] 旋转一次 的结果为数组 [a[n-1], a[0], a[1], a[2], …解释:原数组为 [0,1,2,4,5,6,7] ,旋转 3 次得到输入数组。解释:原数组为 [1,2,3,4,5] ,旋转 3 次得到输入数组。若旋转 4 次,则可以得到 [4,5,6,7,0,1,2]若旋转 7 次,则可以得到 [0,1,2,4,5,6,7]输入:nums = [4,5,6,7,0,1,2]输入:nums = [3,4,5,1,2]原创 2024-08-09 03:20:50 · 167 阅读 · 0 评论 -
4. 寻找两个正序数组的中位数
给定两个大小分别为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。链接:https://leetcode.cn/problems/summary-ranges。解释:合并数组 = [1,2,3,4] ,中位数 (2 + 3) / 2 = 2.5。著作权归领扣网络所有。输入:nums1 = [1,2], nums2 = [3,4]输入:nums1 = [1,3], nums2 = [2]算法的时间复杂度应该为 O(log (m+n))。解释:合并数组 = [1,2,3] ,中位数 2。原创 2024-08-09 03:19:53 · 241 阅读 · 0 评论