![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
二分查找
二分查找
Sun_Sky_Sea
站在巨人的肩膀上
展开
-
658. 找到 K 个最接近的元素
658. 找到 K 个最接近的元素原始题目链接:https://leetcode.cn/problems/find-k-closest-elements/给定一个 排序好 的数组 arr ,两个整数 k 和 x ,从数组中找到最靠近 x(两数之差最小)的 k 个数。返回的结果必须要是按升序排好的。整数 a 比整数 b 更接近 x 需要满足:|a - x| < |b - x| 或者|a - x| == |b - x| 且 a < b示例 1:输入:arr = [1,2,3,4,5],原创 2022-05-22 13:51:26 · 135 阅读 · 0 评论 -
240. 搜索二维矩阵 II
240. 搜索二维矩阵 II原始题目链接:https://leetcode-cn.com/problems/search-a-2d-matrix-ii/编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target 。该矩阵具有以下特性:每行的元素从左到右升序排列。每列的元素从上到下升序排列。输入:matrix = [[1,4,7,11,15],[2,5,8,12,19],[3,6,9,16,22],[10,13,14,17,24],[18,21,23,26,30]],原创 2022-04-17 16:24:38 · 115 阅读 · 0 评论 -
162. 寻找峰值
162. 寻找峰值原始题目链接:https://leetcode-cn.com/problems/find-peak-element/峰值元素是指其值严格大于左右相邻值的元素。给你一个整数数组 nums,找到峰值元素并返回其索引。数组可能包含多个峰值,在这种情况下,返回 任何一个峰值 所在位置即可。你可以假设 nums[-1] = nums[n] = -∞ 。你必须实现时间复杂度为 O(log n) 的算法来解决此问题。示例 1:输入:nums = [1,2,3,1]输出:2解释:3 是峰原创 2022-04-15 18:04:27 · 99 阅读 · 0 评论 -
153. 寻找旋转排序数组中的最小值
153. 寻找旋转排序数组中的最小值原始题目链接:https://leetcode-cn.com/problems/find-minimum-in-rotated-sorted-array/已知一个长度为 n 的数组,预先按照升序排列,经由 1 到 n 次 旋转 后,得到输入数组。例如,原数组 nums = [0,1,2,4,5,6,7] 在变化后可能得到:若旋转 4 次,则可以得到 [4,5,6,7,0,1,2]若旋转 7 次,则可以得到 [0,1,2,4,5,6,7]注意,数组 [a[0],原创 2022-04-15 17:12:33 · 98 阅读 · 0 评论 -
81. 搜索旋转排序数组 II
81. 搜索旋转排序数组 II原始题目链接:https://leetcode-cn.com/problems/search-in-rotated-sorted-array-ii/已知存在一个按非降序排列的整数数组 nums ,数组中的值不必互不相同。在传递给函数之前,nums 在预先未知的某个下标 k(0 <= k < nums.length)上进行了 旋转 ,使数组变为 [nums[k], nums[k+1], …, nums[n-1], nums[0], nums[1], …, num原创 2022-04-15 12:33:40 · 268 阅读 · 0 评论 -
74. 搜索二维矩阵
74. 搜索二维矩阵原始题目链接:https://leetcode-cn.com/problems/search-a-2d-matrix/编写一个高效的算法来判断 m x n 矩阵中,是否存在一个目标值。该矩阵具有如下特性:每行中的整数从左到右按升序排列。每行的第一个整数大于前一行的最后一个整数。示例 1:输入:matrix = [[1,3,5,7],[10,11,16,20],[23,30,34,60]], target = 3输出:true示例 2:输入:matrix = [[1,原创 2022-04-10 00:04:43 · 185 阅读 · 0 评论 -
34. 在排序数组中查找元素的第一个和最后一个位置
34. 在排序数组中查找元素的第一个和最后一个位置原始题目链接:https://leetcode-cn.com/problems/find-first-and-last-position-of-element-in-sorted-array/给定一个按照升序排列的整数数组 nums,和一个目标值 target。找出给定目标值在数组中的开始位置和结束位置。如果数组中不存在目标值 target,返回 [-1, -1]。进阶:你可以设计并实现时间复杂度为 O(log n) 的算法解决此问题吗?示例 1原创 2022-04-08 15:02:00 · 76 阅读 · 0 评论 -
33. 搜索旋转排序数组
33. 搜索旋转排序数组原始题目链接:https://leetcode-cn.com/problems/search-in-rotated-sorted-array/整数数组 nums 按升序排列,数组中的值 互不相同 。在传递给函数之前,nums 在预先未知的某个下标 k(0 <= k < nums.length)上进行了 旋转,使数组变为 [nums[k], nums[k+1], …, nums[n-1], nums[0], nums[1], …, nums[k-1]](下标 从 0原创 2022-04-08 10:16:10 · 134 阅读 · 0 评论 -
4. 寻找两个正序数组的中位数
4. 寻找两个正序数组的中位数原始题目链接:https://leetcode-cn.com/problems/median-of-two-sorted-arrays/给定两个大小分别为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。请你找出并返回这两个正序数组的 中位数 。算法的时间复杂度应该为 O(log (m+n)) 。示例 1:输入:nums1 = [1,3], nums2 = [2]输出:2.00000解释:合并数组 = [1,2,3] ,中位数 2示例 2:输入原创 2022-04-06 23:02:41 · 429 阅读 · 0 评论 -
378. 有序矩阵中第 K 小的元素
378. 有序矩阵中第 K 小的元素原始题目链接:https://leetcode-cn.com/problems/kth-smallest-element-in-a-sorted-matrix/给你一个 n x n 矩阵 matrix ,其中每行和每列元素均按升序排序,找到矩阵中第 k 小的元素。请注意,它是 排序后 的第 k 小元素,而不是第 k 个 不同 的元素。你必须找到一个内存复杂度优于 O(n2) 的解决方案。示例 1:输入:matrix = [[1,5,9],[10,11,13],原创 2022-04-05 14:48:53 · 292 阅读 · 0 评论