![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
力扣
轩辕亲征
这个作者很懒,什么都没留下…
展开
-
力扣.209. 长度最小的子数组
解题思路: 用滑动窗口来维护一个最小数组长度 class Solution { public: int minSubArrayLen(int target, vector<int>& nums) { int size = nums.size(); int j = 0; int sum = 0; int lenth = 0; int result = INT32_MAX; for(int原创 2021-03-22 23:28:07 · 106 阅读 · 0 评论 -
力扣.15/18/27/142/206.双指针法
双指针法 15.三数之和 解题思路: 考虑特殊情况,如全为正数,全为零等 题目要求不重复的三元组,则包含了去重的操作 class Solution { public: vector<vector<int>> threeSum(vector<int>& nums) { int size = nums.size(); vector<vector<int>> result; sort(n原创 2021-03-22 19:38:07 · 180 阅读 · 0 评论 -
力扣.35.搜索插入位置
解题思路: 二分查找 注意的地方是区间的开闭问题,控制边界条件 class Solution { public: int searchInsert(vector<int>& nums, int target) { int size = nums.size(); int left = 0, right = size-1, mid = 0; while(left<=right) { mid原创 2021-03-22 10:04:19 · 87 阅读 · 0 评论 -
力扣.2.两数相加
解题思路: 主要注意三点 当前指针为空时指向下一个指针容易丢失,建议使用头结点 考虑进位问题 考虑末尾进位 /** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode() : val(0), next(nullptr) {} * ListNode(int x) : val(x), next(nullptr) {} *原创 2021-03-21 16:31:47 · 45 阅读 · 0 评论 -
力扣.1005.K 次取反后最大化的数组和
解题思路: 将所有数据按绝对值大小进行从大到小排序,使用sort函数解决 从前往后每遇到一个负数就将其变为绝对值,并将K–,直到循环结束或者K减为0 case 1:K == 0或K为偶数 直接将A[i]求和 case 2:循环结束K>0且为奇数 将A[I]求和,并减去[size-1]*2 class Solution { public: static bool cmp(int a, int b) { return abs(a)>abs(b); }原创 2021-03-21 15:24:26 · 77 阅读 · 0 评论 -
力扣.1.两数之和
解题思路: (1)暴力双循环解 class Solution { public: vector<int> twoSum(vector<int>& nums, int target) { int size = nums.size(); int i = 0,j = 0; vector<int> result; for(int i = 0; i < size; i++){原创 2021-03-21 15:03:45 · 55 阅读 · 0 评论 -
层序遍历
学习内容: 使用层序遍历解题 层序遍历模板 相关的问题大抵可以略微修改后使用 public: vector<vector<int>> levelOrder(TreeNode* root) { queue<TreeNode*> que; if (root != NULL) que.push(root); vector<vector<int>> result; while (!qu原创 2021-03-19 16:02:35 · 122 阅读 · 0 评论