力扣
轩辕亲征
这个作者很懒,什么都没留下…
展开
-
力扣.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 · 121 阅读 · 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 · 214 阅读 · 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 · 100 阅读 · 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 · 51 阅读 · 0 评论 -
力扣.1005.K 次取反后最大化的数组和
解题思路:将所有数据按绝对值大小进行从大到小排序,使用sort函数解决从前往后每遇到一个负数就将其变为绝对值,并将K–,直到循环结束或者K减为0case 1:K == 0或K为偶数直接将A[i]求和case 2:循环结束K>0且为奇数将A[I]求和,并减去[size-1]*2class Solution {public: static bool cmp(int a, int b) { return abs(a)>abs(b); }原创 2021-03-21 15:24:26 · 113 阅读 · 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 · 81 阅读 · 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 · 154 阅读 · 0 评论