binary search
keep moving 123
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
29. 两数相除(python3)
题目:https://leetcode-cn.com/problems/divide-two-integers/ 给定两个整数,被除数dividend和除数divisor。将两数相除,要求不使用乘法、除法和 mod 运算符。 返回被除数dividend除以除数divisor得到的商。 整数除法的结果应当截去(truncate)其小数部分,例如:truncate(8.345) = 8 以及 truncate(-2.7335) = -2 示例1: 输入: dividend = 1...原创 2020-12-22 17:02:18 · 1293 阅读 · 0 评论 -
162. 寻找峰值(python3)
题目:https://leetcode-cn.com/problems/find-peak-element/ 峰值元素是指其值大于左右相邻值的元素。 给定一个输入数组nums,其中 nums[i] ≠ nums[i+1],找到峰值元素并返回其索引。 数组可能包含多个峰值,在这种情况下,返回任何一个峰值所在位置即可。 你可以假设nums[-1] = nums[n] = -∞。 示例 1: 输入: nums = [1,2,3,1] 输出: 2 解释: 3 是峰值元素,你的函数应该返回其索引 2。..原创 2020-12-18 16:19:43 · 2498 阅读 · 1 评论 -
154. 寻找旋转排序数组中的最小值 II(python3)
题目:https://leetcode-cn.com/problems/find-minimum-in-rotated-sorted-array-ii/ 假设按照升序排序的数组在预先未知的某个点上进行了旋转。 ( 例如,数组[0,1,2,4,5,6,7] 可能变为[4,5,6,7,0,1,2])。 请找出其中最小的元素。 注意数组中可能存在重复的元素。 示例 1: 输入: [1,3,5] 输出: 1 示例2: 输入: [2,2,2,0,1] 输出: 0 说明: 这道题是寻找旋转排序...原创 2020-12-18 09:44:06 · 270 阅读 · 0 评论 -
153. 寻找旋转排序数组中的最小值(python3)
题目:https://leetcode-cn.com/problems/find-minimum-in-rotated-sorted-array/ 假设按照升序排序的数组在预先未知的某个点上进行了旋转。例如,数组[0,1,2,4,5,6,7] 可能变为[4,5,6,7,0,1,2] 。 请找出其中最小的元素。 示例 1: 输入:nums = [3,4,5,1,2] 输出:1 示例 2: 输入:nums = [4,5,6,7,0,1,2] 输出:0 示例 3: 输入:nums = [1]...原创 2020-12-18 09:24:09 · 252 阅读 · 0 评论 -
81. 搜索旋转排序数组 II(python3)
题目:https://leetcode-cn.com/problems/search-in-rotated-sorted-array-ii/ 假设按照升序排序的数组在预先未知的某个点上进行了旋转。 ( 例如,数组[0,0,1,2,2,5,6]可能变为[2,5,6,0,0,1,2])。 编写一个函数来判断给定的目标值是否存在于数组中。若存在返回true,否则返回false。 示例1: 输入: nums = [2,5,6,0,0,1,2], target = 0 输出: true 示例...原创 2020-12-17 18:57:04 · 225 阅读 · 0 评论 -
74. 搜索二维矩阵(python3)
题目: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,50]], target = 3 输出:true 示例 2: 输入:matrix = [[1,3,5,7],[...原创 2020-12-14 16:57:47 · 187 阅读 · 0 评论 -
69. x 的平方根(python3)
题目:https://leetcode-cn.com/problems/sqrtx/ 实现int sqrt(int x)函数。 计算并返回x的平方根,其中x 是非负整数。 由于返回类型是整数,结果只保留整数的部分,小数部分将被舍去。 示例 1: 输入: 4 输出: 2 示例 2: 输入: 8 输出: 2 说明: 8 的平方根是 2.82842..., 由于返回类型是整数,小数部分将被舍去。 解题思路: 二分查找法比较mid*mid与x值,如果小于则用key记录当前...原创 2020-12-14 14:58:57 · 256 阅读 · 0 评论 -
35. 搜索插入位置(python3)
题目:https://leetcode-cn.com/problems/search-insert-position/ 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 你可以假设数组中无重复元素。 示例 1: 输入: [1,3,5,6], 5 输出: 2 示例2: 输入: [1,3,5,6], 2 输出: 1 示例 3: 输入: [1,3,5,6], 7 输出: 4 示例 4: 输入: [1,3,5,6], 0 输出:.原创 2020-12-11 15:39:35 · 328 阅读 · 0 评论 -
34. 在排序数组中查找元素的第一个和最后一个位置(python3)
题目:https://leetcode-cn.com/problems/find-first-and-last-position-of-element-in-sorted-array/ 给定一个按照升序排列的整数数组 nums,和一个目标值 target。找出给定目标值在数组中的开始位置和结束位置。 如果数组中不存在目标值 target,返回[-1, -1]。 进阶: 你可以设计并实现时间复杂度为O(log n)的算法解决此问题吗? 示例 1: 输入:nums = [5,7,7,8,8...原创 2020-12-11 14:36:19 · 385 阅读 · 0 评论 -
4. 寻找两个有序数组的中位数(python3)
给定两个大小为 m 和 n 的有序数组nums1 和nums2。 请你找出这两个有序数组的中位数,并且要求算法的时间复杂度为O(log(m + n))。 你可以假设nums1和nums2不会同时为空。 示例 1: nums1 = [1, 3] nums2 = [2] 则中位数是 2.0 示例 2: nums1 = [1, 2] nums2 = [3, 4] 则中位数是 ...原创 2019-10-23 19:34:23 · 489 阅读 · 2 评论 -
33. 搜索旋转排序数组(python3)
题目:https://leetcode-cn.com/problems/search-in-rotated-sorted-array/ 给你一个整数数组 nums ,和一个整数 target 。 该整数数组原本是按升序排列,但输入时在预先未知的某个点上进行了旋转。(例如,数组[0,1,2,4,5,6,7]可能变为[4,5,6,7,0,1,2] )。 请你在数组中搜索target ,如果数组中存在这个目标值,则返回它的索引,否则返回-1。 示例 1: 输入:nums = [4,5,6...原创 2020-11-17 14:56:21 · 307 阅读 · 0 评论 -
704. 二分查找(python3)
题目:https://leetcode-cn.com/problems/binary-search/ 给定一个n个元素有序的(升序)整型数组nums 和一个目标值target ,写一个函数搜索nums中的 target,如果目标值存在返回下标,否则返回 -1。 示例 1: 输入: nums = [-1,0,3,5,9,12], target = 9 输出: 4 解释: 9 出现在 nums 中并且下标为 4 示例2: 输入: nums = [-1,0,3,5,9,12], targ...原创 2020-11-05 13:15:01 · 747 阅读 · 0 评论
分享