lower_bound( )和upper_bound( )都是利用二分查找的方法在一个排好序的数组中进行查找的。 通常用sort函数从小到大排序。 在从小到大的排序数组中, lower_bound( begin,end,num):从数组的begin位置到end-1位置二分查找第一个大于或等于num的 ...
分类:
编程语言 时间:
2020-02-08 09:46:37
阅读次数:
92
一、题目说明 题目是34. Find First and Last Position of Element in Sorted Array,查找一个给定值的起止位置,时间复杂度要求是Olog(n)。题目的难度是Medium! 二、我的解答 这个题目还是二分查找(折半查找),稍微变化一下。target ...
分类:
其他好文 时间:
2020-02-08 09:26:27
阅读次数:
56
一般来讲我们会在以下情况用到二分: 求单调函数的零点 求一堆东西的最小值最大是多少 很难直接算出答案,但是很好判定答案合不合法 如果想学就继续看吧! 二分查找 二分是一种可以再$\mathcal{O}(\mathrm{ch}\log m)$($m$为数据规模,$\mathrm{ch}$为判断状态合法 ...
分类:
其他好文 时间:
2020-02-07 22:27:03
阅读次数:
100
[TOC] 续 "调度算法(一)" 线性规划 现在我们介绍线性规划算法在调度问题中的应用。一个线性规划问题通常以如下形式出现: 寻找长度为$n$的解向量$x=(x_1,...,x_n)$,满足$m$个线性约束$a_{i1}x1+a_{i2}x_2+...+a_{in}x_n\le b_i$,其中$1 ...
分类:
编程语言 时间:
2020-02-07 18:54:04
阅读次数:
81
描述 编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target。该矩阵具有以下特性: 每行的元素从左到右升序排列。每列的元素从上到下升序排列。示例: 现有矩阵 matrix 如下: [ [1, 4, 7, 11, 15], [2, 5, 8, 12, 19], [3, ...
分类:
其他好文 时间:
2020-02-07 01:41:19
阅读次数:
85
描述 编写一个高效的算法来判断 m x n 矩阵中,是否存在一个目标值。该矩阵具有如下特性: 每行中的整数从左到右按升序排列。每行的第一个整数大于前一行的最后一个整数。示例 1: 输入:matrix = [ [1, 3, 5, 7], [10, 11, 16, 20], [23, 30, 34, 5 ...
分类:
其他好文 时间:
2020-02-07 01:13:28
阅读次数:
61
题目 给定一个按照升序排列的整数数组 nums,和一个目标值 target。找出给定目标值在数组中的开始位置和结束位置。 如果数组中不存在目标值,返回?[ 1, 1]。 题解 二分查找找目标值的第一个和最后一个。 代码 ...
分类:
编程语言 时间:
2020-02-06 14:18:39
阅读次数:
67
说到算法,大家应该都会脑壳疼吧。除了应付一下面试,准备过算法,也接触过不少算法,但是面试完了,基本上就忘光了。但不得不说,算法真的很重要,算法是解决问的方法,你可能会说根本用不上,那只是因为你根本没有算法的思维,又如何说得上使用呢。在这里,我会和大家一起重学算法,阅读《图解算法》入门算法经典书籍,然 ...
分类:
编程语言 时间:
2020-02-05 18:48:33
阅读次数:
75
一般我们在选择算法时,都是想要选择效率最高的算法。那算法的效率,用什么表示?没错!就是用大O表示法。 PS : 大O表示法中,log即为log2,后面不再说明。 下面以简单查找和二分查找,在含有n个元素的有序列表中查找其中一个元素为例,下表总结了我们发现的情况。 使用简单查找时,最多需要猜测次数与列 ...
分类:
编程语言 时间:
2020-02-05 18:29:54
阅读次数:
112
374. Guess Number Higher or Lower(猜数字大小) 链接 https://leetcode cn.com/problems/guess number higher or lower 题目 我们正在玩一个猜数字游戏。 游戏规则如下: 我从?1?到?n?选择一个数字。 你需 ...
分类:
其他好文 时间:
2020-02-03 20:57:25
阅读次数:
70