Binary Search
码农老哥
一个编程界的小学生
展开
-
540. Single Element in a Sorted Array
Lc-540categories: [LeetCode]tags: [binary search, medium]540. Single Element in a Sorted Array题目大意:给定一个排序好的数组,数组中的每个元素都出现两次,只有一个元素只出现一次, 找到并返回这个元素。解题思路:根据题意,它是一个单调递增数组,符合使用二分搜索的条件。所以这道题可以用二分法来做首先我们还是想往常一样初始化low 和 high数组两端的下标然后通过while loop循环, 条件是原创 2021-01-02 01:18:56 · 142 阅读 · 0 评论 -
154. Find Minimum in Rotated Sorted Array II
Lc-154154. Find Minimum in Rotated Sorted Array II题目大意:给定一个单调递增数组并且在某个pivot节点进行旋转i.e.[0,1,2,4,5,6,7] might become [4,5,6,7,0,1,2]找到在数组中最小的元素并且数组中可能有重复元素解题思路:根据题意,题目符合二分搜索首先初始化两个变量low 和 high分别等于数组的起始和最后一个元素的下标在一个while循环中,条件为low <= high找到当下mid原创 2021-01-02 01:13:06 · 87 阅读 · 0 评论 -
81. Search in Rotated Sorted Array II
Lc-8181. Search in Rotated Sorted Array II题目大意:假设一个单调递增的数组在某一个结点进行旋转使的数组内的所有元素变成两个单调递增的元素i.e. [0, 0, 1, 2, 2, 5, 6] --> [2, 5, 6, 0, 0, 1, 2];给定一个目标整数进行搜索, 如果在数组中找到返回true, 找不到返回false;解题思路:根据题目要求,我们先可以排除一些特别情况比如如果nums == null 或者nums的数组为空则返回false原创 2021-01-02 01:11:31 · 166 阅读 · 1 评论 -
69. Sqrt(x)
Lc-6969. Sqrt(x)题目大意:给定一个非负整数x, 计算并返回x的平方根由于返回类型是整数,所以只保留整数部分, 小数部分舍去解题思路:根据题目要求, 既然是非负整数,那么它的平方根范围肯定是在(0,X)之间, 从0到X是一个单调递增,满足二分搜索条件, 所以可以使用二分查找来做这道题。我们可以初始两个指针 low = 1, high = x; 然后用一个while loop去进行二分搜索, while的条件是low <= high。在while loop中, 我们先找原创 2021-01-02 01:09:21 · 118 阅读 · 0 评论 -
34.Find First and Last Position of Element in Sorted Array
Lc-3434.Find First and Last Position of Element in Sorted Array题目大意:给定一个整数数组nums按照递增排序和一个目标整数target,找出target在数组nums中的起始位置和结束位置,如果没有找到则返回{-1, -1}要求:编写算法的时间复杂度在O(logN)解题思路:根据题目要求,数组为单调递增并且要找出对应的目标整数的起始与结束位置,可以用二分搜索来做首先我们初始化 ans = {-1, -1},low = 0,h原创 2021-01-02 00:58:20 · 199 阅读 · 0 评论