随笔分类 - 二分
摘要:LeetCode 367. 有效的完全平方数 思路: 核心为最后一步判断当二分结束后值为及接近一个整数的浮点数(如2.9xxxx)此时加上极小数(1e-6)取整再平方,若与num相等则为完全平方数 class Solution { public: bool isPerfectSquare(int n
阅读全文
摘要:LeetCode 69. x 的平方根 思路: 浮点数二分修改版 因为返回的是整数所以二分分三类讨论 mid * mid == x 该情况mid为x的平方根 mid * mid > x 该情况mid大于x的平方根 mid * mid < x 该情况mid小于x的平方根(可能为答案也可能不是因为要求整
阅读全文
摘要:34. 在排序数组中查找元素的第一个和最后一个位置 思路: 与AcWing 789一致 class Solution { public: vector<int> searchRange(vector<int>& nums, int target) { if (nums.size() == 0) re
阅读全文
摘要:LeetCode 704. 二分查找 思路: 直接套模板 class Solution { public: int search(vector<int>& nums, int target) { int l = 0, r = nums.size() - 1; while (l < r){ int m
阅读全文
摘要:LeetCode 35. 搜索插入位置 思路 直接利用二分模板 注意右指针开始为nums.size()而不是nums.size() - 1因为有可能在最后一位插入 class Solution { public: int searchInsert(vector<int>& nums, int tar
阅读全文