目录
153. 寻找旋转排序数组中的最小值
解析
题解
LCR 173. 点名
解析
题解
153. 寻找旋转排序数组中的最小值
153. 寻找旋转排序数组中的最小值 - 力扣(LeetCode)
解析
题解
class Solution {
public:int findMin(vector<int>& nums) {// 024_专题三_二分查找算法_寻找旋转排序数组中的最小值_C++int left = 0, right = nums.size() - 1;int n = nums.size() - 1; // 用最后一个位置的值做比较,用第一个元素也能不过要考虑边界情况,当数组递增的时候就要考虑特殊情况while (left < right){int mid = left + (right - left) / 2;if (nums[mid] > nums[n])left = mid + 1;else right = mid;}return nums[left];}
};
LCR 173. 点名
LCR 173. 点名 - 力扣(LeetCode)
解析
题解
class Solution {
public:int takeAttendance(vector<int>& records) {// 025_专题三_二分查找算法_0~n-1中缺失的数字_C++int left = 0, right = records.size() - 1;while (left < right){int mid = left + (right - left) / 2;if (records[mid] == mid)left = mid + 1;else right = mid;}return records[left] == left ? left + 1 : left; // 可能一直递增,缺失最后一个数字}
};