二分查找
文章平均质量分 62
二分查找
NLP_victor
这个作者很懒,什么都没留下…
展开
-
LeetCode480. 滑动窗口中位数(二分查找)
1、题目描述https://leetcode-cn.com/problems/sliding-window-median/中位数是有序序列最中间的那个数。如果序列的长度是偶数,则没有最中间的数;此时中位数是最中间的两个数的平均数。[2,3,4],中位数是3 [2,3],中位数是 (2 + 3) / 2 = 2.5给你一个数组 nums,有一个长度为 k 的窗口从最左端滑动到最右端。窗口中有 k 个数,每次窗口向右移动 1 位。你的任务是找出每次窗口移动后得到的新窗口中元素的中位数,并输.原创 2021-02-03 23:04:40 · 214 阅读 · 1 评论 -
LeetCode287. 寻找重复数(二分)
1、题目描述https://leetcode-cn.com/problems/find-the-duplicate-number/给定一个包含n + 1 个整数的数组nums ,其数字都在 1 到 n之间(包括 1 和 n),可知至少存在一个重复的整数。假设 nums 只有 一个重复的整数 ,找出 这个重复的数 。nums.length == n + 1 1 <= nums[i] <= n nums中只有一个整数出现两次或多次,其余整数均只出现一次进阶:...原创 2021-01-31 21:31:32 · 298 阅读 · 2 评论 -
LeetCode35. 搜索插入位置(排序数组)
1、题目描述https://leetcode-cn.com/problems/search-insert-position/给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。你可以假设数组中无重复元素。输入: [1,3,5,6], 5输出: 2输入: [1,3,5,6], 2输出: 1输入: [1,3,5,6], 7输出: 4输入: [1,3,5,6], 0输出: 02、代码详解class So原创 2020-07-16 20:08:25 · 159 阅读 · 0 评论 -
剑11LC153.154 寻找旋转数组中的最小值+33. 81搜索旋转排序数组(旋转数组系列)
1、题目描述把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非减排序的数组的一个旋转,输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。 NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。2、代码详解# -*- coding:utf-8 -*-class Solution: ...原创 2020-02-17 19:15:35 · 325 阅读 · 0 评论 -
双指针、单调栈-LeetCode42. 接雨水
1、题目描述https://leetcode-cn.com/problems/trapping-rain-water/给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。输入: [0,1,0,2,1,0,1,3,2,1,2,1] 输出: 62、代码描述单调栈单调栈思路:https://zhuanlan.zhihu.com/p/125074613class Solution(object): def trap(self,原创 2020-07-04 22:51:17 · 270 阅读 · 0 评论 -
二分-LeetCode4. 寻找两个正序数组的中位数+两个有序数组中找第k小的数
1、题目描述https://leetcode-cn.com/problems/median-of-two-sorted-arrays/给定两个大小为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。 请你找出这两个正序数组的中位数,并且要求算法的时间复杂度为 O(log(m + n))。 你可以假设 nums1 和 nums2 不会同时为空。2、代码详解https://mp.weixin.qq.com/s/FBlH7o-ssj_iMEPLcvsY2w时间复..原创 2020-07-04 22:45:13 · 629 阅读 · 0 评论 -
二分-LeetCode69. x 的平方根
1、题目描述实现int sqrt(int x)函数。计算并返回x的平方根,其中x是非负整数。由于返回类型是整数,结果只保留整数的部分,小数部分将被舍去。示例 1:输入: 4输出: 2示例 2:输入: 8输出: 2说明: 8 的平方根是 2.82842..., 由于返回类型是整数,小数部分将被舍去。2、代码详解思路:binary...原创 2019-03-17 21:46:22 · 193 阅读 · 0 评论 -
二分、快速幂-16:数值的整数次方(剑指offer第2版)50. Pow(x, n)
1、题目描述给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。2、代码详解先说结论:特例:底数为0且指数为负,抛异常“0不能求倒数” equal_zero时,因为计算机内表示小数有误差,要写成abs(num - 0.0) < 0.0000001 1.0/base,不能写成1/base 位运算优化效率“整除以2...原创 2020-03-08 19:24:52 · 204 阅读 · 1 评论 -
二分-LeetCode34. 在排序数组中查找元素的第一个和最后一个位置
1、题目描述https://leetcode-cn.com/problems/find-first-and-last-position-of-element-in-sorted-array/给定一个按照升序排列的整数数组 nums,和一个目标值 target。找出给定目标值在数组中的开始位置和结束位置。你的算法时间复杂度必须是O(log n) 级别。(想到二分)如果数组中不存在目标值,返回[-1, -1]。输入: nums = [5,7,7,8,8,10], target = 8..原创 2020-07-03 15:40:45 · 186 阅读 · 0 评论 -
数组、二分-LeetCode74. 搜索二维矩阵
1、题目描述https://leetcode-cn.com/problems/search-a-2d-matrix/编写一个高效的算法来判断 m x n 矩阵中,是否存在一个目标值。该矩阵具有如下特性:每行中的整数从左到右按升序排列。 每行的第一个整数大于前一行的最后一个整数(变成了240题的特例)。通用模板就看LeetCode240:搜索二维矩阵IIhttps://blog.csdn.net/IOT_victor/article/details/104642324本题解法在..原创 2020-07-02 12:19:32 · 185 阅读 · 0 评论 -
4:二维数组中的查找(剑指offer第2版)LeetCode240:搜索二维矩阵II
1、题目详解在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。同LeetCode240:搜索二维矩阵IIhttps://leetcode-cn.com/problems/search-a-2d-matrix-ii/solution/er-fe...原创 2020-03-03 21:44:07 · 287 阅读 · 0 评论 -
二分、数组-LeetCode378. 有序矩阵中第K小的元素
1、题目描述数组和矩阵(378):https://leetcode.com/problems/kth-smallest-element-in-a-sorted-matrix/description/给定一个n x n矩阵,其中每行和每列元素均按升序排序,找到矩阵中第k小的元素。请注意,它是排序后的第k小元素,而不是第k个元素。示例:matrix = [ [ 1, 5...原创 2019-03-23 16:59:33 · 999 阅读 · 0 评论