06 2021 档案

摘要:题目链接:https://leetcode-cn.com/problems/partition-labels/ 题目描述: 题解: 解题思路:划分字母区间 1.统计每一个字符最后出现的位置 2.从头遍历字符,并更新字符的最远出现下标,如果找到字符最远出现位置下标和当前下标相等了,则找到了分割点 cl 阅读全文
posted @ 2021-06-30 11:02 张宵 阅读(62) 评论(0) 推荐(0)
摘要:题目链接:https://leetcode-cn.com/problems/non-overlapping-intervals/submissions/ 题目描述: 题解: 排序: 1.按左边界排序,从右往左遍历,左值越大越好。 2.按右边界排序,从左往右遍历,右值越小越好。 class Solut 阅读全文
posted @ 2021-06-29 11:23 张宵 阅读(65) 评论(0) 推荐(0)
摘要:题目链接:用最少数量的箭引爆气球 题目描述: 题解: class Solution { public: static bool cmp(vector<int> &a, vector<int> &b) //按右边界排序 { return a[1] < b[1]; } int findMinArrowS 阅读全文
posted @ 2021-06-28 10:13 张宵 阅读(49) 评论(0) 推荐(0)
摘要:题目链接: https://leetcode-cn.com/problems/queue-reconstruction-by-height/submissions/ 题目描述: 题目分析: 先按h排序,再按k插入。 排序算法: 当h相同时,k越小的越靠前。 当h不相同时,h越大的越靠前。 插入算法: 阅读全文
posted @ 2021-06-27 22:46 张宵 阅读(59) 评论(0) 推荐(0)
摘要:题目链接: https://leetcode-cn.com/problems/flatten-binary-tree-to-linked-list/ 题目描述: 给你二叉树的根结点 root ,请你将它展开为一个单链表: 展开后的单链表应该同样使用 TreeNode ,其中 right 子指针指向链 阅读全文
posted @ 2021-06-23 14:43 张宵 阅读(57) 评论(0) 推荐(0)
摘要:题目链接:https://leetcode-cn.com/problems/permutations-ii/ 题目描述: 题解: class Solution { public: vector<vector<int>> result; vector<int> path; void backTrack 阅读全文
posted @ 2021-06-21 09:52 张宵 阅读(68) 评论(0) 推荐(0)
摘要:题目链接:https://leetcode-cn.com/problems/longest-substring-without-repeating-characters/ 题目描述: 题解: class Solution { public: int lengthOfLongestSubstring( 阅读全文
posted @ 2021-06-20 17:51 张宵 阅读(29) 评论(0) 推荐(0)
摘要:题目链接:串联字符串的最大长度 题目描述: 题解: class Solution { public: int maxLen = 0; void backTracking(vector<string>& arr, int index, vector<int>& letters) { int len = 阅读全文
posted @ 2021-06-19 17:12 张宵 阅读(68) 评论(0) 推荐(0)
摘要:题目链接:https://leetcode-cn.com/problems/reverse-words-in-a-string/ 题目描述: 题解: class Solution { public: string reverseWords(string s) { stack <string> stk 阅读全文
posted @ 2021-06-18 10:53 张宵 阅读(38) 评论(0) 推荐(0)
摘要:题目链接: https://leetcode-cn.com/problems/lemonade-change/ 题目描述: 题解: class Solution { public: bool lemonadeChange(vector<int>& bills) { unordered_map<int 阅读全文
posted @ 2021-06-17 11:26 张宵 阅读(31) 评论(0) 推荐(0)
摘要:题目链接: https://leetcode-cn.com/problems/reverse-string-ii/ 题目描述: 题解: 要点:遍历的步长为2 * k。当需要固定规律一段一段去处理字符串的时候,要想想在在for循环的表达式上做做文章。 class Solution { public: 阅读全文
posted @ 2021-06-17 10:50 张宵 阅读(45) 评论(0) 推荐(0)
摘要:题目链接:https://leetcode-cn.com/problems/ti-huan-kong-ge-lcof/ 题目描述: 题解: 空间复杂度:O(1) 1.先找出字符串中含有多少个空格 2.对原字符串空间扩容 3.定义两个指针,一个指向新字符串的末尾,一个指向原始字符串的末尾 class 阅读全文
posted @ 2021-06-16 14:48 张宵 阅读(40) 评论(0) 推荐(0)
摘要:题目链接:https://leetcode-cn.com/problems/candy/ 题目描述: 题解: class Solution { public: int candy(vector<int>& ratings) { vector<int> candyVec(ratings.size(), 阅读全文
posted @ 2021-06-16 11:13 张宵 阅读(42) 评论(0) 推荐(0)
摘要:题目链接:https://leetcode-cn.com/problems/palindrome-linked-list/ 题目描述: 题解: /** * Definition for singly-linked list. * struct ListNode { * int val; * List 阅读全文
posted @ 2021-06-15 15:33 张宵 阅读(30) 评论(0) 推荐(0)
摘要:题目链接:https://leetcode-cn.com/problems/gas-station/ 题目描述: 题解: 1.如果gas的总和小于cost总和,一定不能跑一整圈。 2.每个加油站剩余量rest[i] = gas[i] - cost[i] 3.i从0开始累加rest[i],和记为cur 阅读全文
posted @ 2021-06-14 11:07 张宵 阅读(57) 评论(0) 推荐(0)
摘要:**题目链接:**https://leetcode-cn.com/problems/jump-game-ii/ 题目描述: 题解: 题解参考: windliang的题解 如下图,开始的位置是 2,可跳的范围是橙色的。然后因为 3 可以跳的更远,所以跳到 3 的位置。 如下图,然后现在的位置就是 3 阅读全文
posted @ 2021-06-11 14:32 张宵 阅读(49) 评论(0) 推荐(0)
摘要:题目链接:https://leetcode-cn.com/problems/maximize-sum-of-array-after-k-negations/ 题目描述: 题解: 1.按绝对值从大到小排序 2.遍历整个数组,遇到负数,将负数变正数 3.如果遍历完整个数组,K仍然大于0,将数组的最后一个 阅读全文
posted @ 2021-06-11 10:24 张宵 阅读(81) 评论(0) 推荐(0)
摘要:题目链接:https://leetcode-cn.com/problems/remove-duplicates-from-sorted-list/ 题目描述: 存在一个按升序排列的链表,给你这个链表的头节点 head ,请你删除所有重复的元素,使每个元素 只出现一次 。 返回同样按升序排列的结果链表 阅读全文
posted @ 2021-06-10 18:06 张宵 阅读(74) 评论(0) 推荐(0)
摘要:题目链接:https://leetcode-cn.com/problems/sort-list/ 题目解题: 方法一:归并排序 /** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *ne 阅读全文
posted @ 2021-06-07 21:00 张宵 阅读(57) 评论(0) 推荐(0)
摘要:题解: 方法1: 哈希表:遍历所有节点,每次遍历到一个节点时,判断该节点是否被访问过。 /** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x 阅读全文
posted @ 2021-06-07 19:34 张宵 阅读(74) 评论(0) 推荐(0)
摘要:全文引用:图解排序算法之归并排序 归并排序(MERGE-SORT)是利用归并的思想实现的排序方法,该算法采用经典的分治(divide-and-conquer)策略(分治法将问题分(divide)成一些小的问题然后递归求解,而治(conquer)的阶段则将分的阶段得到的各答案"修补"在一起,即分而治之 阅读全文
posted @ 2021-06-05 13:40 张宵 阅读(48) 评论(0) 推荐(0)
摘要:题目链接:https://leetcode-cn.com/problems/maximum-lcci/ 题目描述: 编写一个方法,找出两个数字a和b中最大的那一个。不得使用if-else或其他比较运算符。 示例: 输入: a = 1, b = 2 输出: 2 题解: 1.溢出处理。两个int相减若用 阅读全文
posted @ 2021-06-04 10:52 张宵 阅读(79) 评论(0) 推荐(0)
摘要:题目链接:https://leetcode-cn.com/problems/find-common-characters/ 题目描述: 题解: class Solution { public: vector<string> commonChars(vector<string>& words) { v 阅读全文
posted @ 2021-06-01 10:51 张宵 阅读(71) 评论(0) 推荐(0)