Code
文章平均质量分 72
记录一下刷题过程,题目主要来源于LeetCode
Karynnn
简单记录成长点滴
展开
-
27. 移除元素
27. 移除元素题目:思路:题解:法一:法二:代码:法一:调用vector的erase()函数法二:双指针Debug过程:法一:法二:优化: 题目: 原题链接 思路: 题目要求原地移除nums中数值等于val的值,返回数组的新长度,那么我们的任务就是边移除边计算移除了几个元素即可。 为了一次性连续移除元素,可以先排个序,再遍历执行。 因为要原地修改,所以就想到了vector的pop_back()可以删除最后一个元素,但是这样的话就要把所有要移除的元素放在末尾。vector还有一个函数是eras原创 2021-07-08 13:54:25 · 125 阅读 · 0 评论 -
35. 搜索插入位置
35. 搜索插入位置题目:思路:代码:Debug:相关题目 题目: 原题链接 思路: 按照二分查找的思路来,然后调用vector的insert就可以。 代码: class Solution { public: int searchInsert(vector<int>& nums, int target) { int left = 0; int right = nums.size() - 1; int middle = (lef原创 2021-07-08 11:21:18 · 60 阅读 · 0 评论 -
704.二分查找
文章目录数组704. 二分查找题目思路:题解:代码:Debug过程:优化: 数组 704. 二分查找 题目 原题链接 思路: 二分查找target,但是不太会写循环。。 题解: 1. 需要三个变量,left, middle, right 2. 初始化:middle = (left + right)/2 3. 比较middle的值、target的值,选择下一个查找区间 4. 直到left = right,跳出循环 代码: class Solution { public: int search原创 2021-07-07 22:54:02 · 175 阅读 · 1 评论