- 博客(4)
- 收藏
- 关注
原创 leetcode448——巧用符号标注已出现数字
题目链接:https://leetcode-cn.com/problems/find-all-numbers-disappeared-in-an-array/思路:对于出现的数字将其标注为负数,if(nums[abs(nums[i])-1]>0)nums[abs(nums[i])-1]*=-1注意:1.因为可能本身该位数字已经为负数,只有加上abs才能找到正确置为负数的下标。2.本身值为负数代表该位数字已出现过,无需再乘以-1class Solution {public:
2020-09-25 21:27:28 124
原创 找出升序排序数组第一个小于目标值的所有下标,第一个大于目标值的所有下标——四次二分搜索
题目:找出升序排序数组第一个小于目标值的所有下标,第一个大于目标值的所有下标——四次二分搜索思路:1. 第一次二分:找目标值的最左下标2. 第二次二分:找小于目标值的第一个数的值的最左边界3. 第三次二分:找第一个大于目标值的下标4. 第四次二分:找第一个大于(第一个大于目标值的值)的下标例如:{-1,2,2,3,3,3,5,5,5,6,7,8,10}; //结果应该为 1,2,6,8#include <iostream>#include <cstdio..
2020-09-25 12:12:34 1168
原创 leetcode34——两遍二分法
题目链接:https://leetcode-cn.com/problems/find-first-and-last-position-of-element-in-sorted-array/submissions/第一遍找左边第一个目标值,第二遍找大于目标值的第一个值得位置class Solution {public:int findIndex(vector<int>& nums,int target,bool flag){ int len=nums.size.
2020-09-22 19:27:58 1373
原创 leetcode68——二叉树的最近公共祖先
题目链接:https://leetcode-cn.com/problems/er-cha-shu-de-zui-jin-gong-gong-zu-xian-lcof/对于每个结点讨论四种情况:1.左子树不存在结点为nullptr,以 left来标记。右子树不存在结点为nullptr,以right来标记。那么返回nullptr。2.left和right均不为空,返回当前结点3.left为空,而right不会空,细分两种情况:一个结点在右子树,则right指向p或q,两个结点在右子树中,
2020-09-03 18:23:15 87
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人