上一页 1 ··· 4 5 6 7 8
摘要: LeetCode 367. 有效的完全平方数 思路: 核心为最后一步判断当二分结束后值为及接近一个整数的浮点数(如2.9xxxx)此时加上极小数(1e-6)取整再平方,若与num相等则为完全平方数 class Solution { public: bool isPerfectSquare(int n 阅读全文
posted @ 2022-08-22 18:50 hjy94wo 阅读(21) 评论(0) 推荐(0)
摘要: LeetCode 69. x 的平方根 思路: 浮点数二分修改版 因为返回的是整数所以二分分三类讨论 mid * mid == x 该情况mid为x的平方根 mid * mid > x 该情况mid大于x的平方根 mid * mid < x 该情况mid小于x的平方根(可能为答案也可能不是因为要求整 阅读全文
posted @ 2022-08-22 18:38 hjy94wo 阅读(20) 评论(0) 推荐(0)
摘要: 34. 在排序数组中查找元素的第一个和最后一个位置 思路: 与AcWing 789一致 class Solution { public: vector<int> searchRange(vector<int>& nums, int target) { if (nums.size() == 0) re 阅读全文
posted @ 2022-08-22 18:21 hjy94wo 阅读(20) 评论(0) 推荐(0)
摘要: LeetCode 704. 二分查找 思路: 直接套模板 class Solution { public: int search(vector<int>& nums, int target) { int l = 0, r = nums.size() - 1; while (l < r){ int m 阅读全文
posted @ 2022-08-22 17:16 hjy94wo 阅读(22) 评论(0) 推荐(0)
摘要: LeetCode 35. 搜索插入位置 思路 直接利用二分模板 注意右指针开始为nums.size()而不是nums.size() - 1因为有可能在最后一位插入 class Solution { public: int searchInsert(vector<int>& nums, int tar 阅读全文
posted @ 2022-08-22 17:12 hjy94wo 阅读(22) 评论(0) 推荐(0)
摘要: 整数二分模板 l = mid这个模板mid需要+1 int bsearch_1(int l, int r) { while (l < r) { int mid = l + r >> 1; if (check(mid)) r = mid; // check()判断mid是否满足性质 else l = 阅读全文
posted @ 2022-08-22 15:08 hjy94wo 阅读(48) 评论(0) 推荐(0)
摘要: ###快速排序 步骤 确定分界点:q[l], q[(l+r)/2], q[r], 随机 调整区间 递归处理 void quick_sort(int q[], int l, int r) { if (l >= r) return; //递归结束条件 int i = l - 1, j = r + 1, 阅读全文
posted @ 2022-08-22 10:55 hjy94wo 阅读(36) 评论(0) 推荐(0)
上一页 1 ··· 4 5 6 7 8