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 · 1197 阅读 · 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 · 2395 阅读 · 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 · 224 阅读 · 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 · 209 阅读 · 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 · 180 阅读 · 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 · 159 阅读 · 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 · 228 阅读 · 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 · 294 阅读 · 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 · 346 阅读 · 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 · 443 阅读 · 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 · 252 阅读 · 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 · 698 阅读 · 0 评论