2024.06.29 刷题日记 739. 每日温度给定一个整数数组 temperatures ,表示每天的温度,返回一个数组 answer ,其中 answer[i] 是指对于第 i 天,下一个更高温度出现在几天后。如果气温在这之后都不会升高,请在该位置用 0 来代替。 示例 1: 输入: temperatures = [73,74,75,71,69,72,76,73]输出: [1,1,4,2,1,1,0,0] 2024-06-29 LeetCode #算法 #数据结构 #leetcode
2024.06.28 刷题日记 394. 字符串解码给定一个经过编码的字符串,返回它解码后的字符串。 示例 1: 输入:s = “3[a]2[bc]”输出:”aaabcbc” 示例 2: 输入:s = “3[a2[c]]”输出:”accaccacc” 示例 3: 输入:s = “2[abc]3[cd]ef”输出:”abcabccdcdcdef” 示例 4: 输入:s = 2024-06-28 LeetCode #算法 #数据结构 #leetcode
2024.06.26 刷题日记 20. 有效的括号利用栈: 1234567891011121314class Solution {public: bool isValid(string s) { std::map<char, int> m = {{'(', -1}, {')', 1}, 2024-06-26 LeetCode #算法 #数据结构 #leetcode
2024.06.25 刷题日记 704. 二分查找这种题有多种写法,我认为应该固定一种写法,从而养成自己的编程直觉,不然很容易造成思维混乱。二分查找说难不难,说简单也不简单。最难的点就是处理边界条件,有时候多个等号会通过,少个等号就通过不了关键是还不知道为什么能过。 示例 1: 输入: nums = [-1,0,3,5,9,12], target = 9输出: 4解释: 9 出现在 nums 中并且下标 2024-06-25 LeetCode #算法 #数据结构 #leetcode
2024.06.24 刷题日记 17. 电话号码的字母组合依然是昨天的回溯,思路是根据 index,来确定要回溯的对象: 1234567891011121314151617181920212223242526272829303132class Solution {public: vector<string> letterCombinations(string digits) { 2024-06-24 LeetCode #算法 #数据结构 #leetcode
2024.06.23 刷题日记 〇、前言今天重点刷了回溯,以及常见的题目。 46. 全排列给定一个不含重复数字的数组 nums ,返回其 所有可能的全排列 。你可以 按任意顺序 返回答案。 示例 1: 输入:nums = [1,2,3]输出:[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]] 示例 2: 输入:nums = [0,1]输出:[[0,1] 2024-06-23 LeetCode #算法 #数据结构 #leetcode
2024.06.22 刷题日记 199. 二叉树的右视图这道题目的思路就是层次遍历,然后每次处理每一层所有的元素,如果是第一个就收集到答案中: 123456789101112131415161718192021222324252627class Solution {public: vector<int> rightSideView(TreeNode* root) { if 2024-06-23 LeetCode #算法 #数据结构 #leetcode
2024.06.21 刷题日记 101. 对称二叉树判断是否对称,检查 root->left->val == root->right->val,接着进行递归检查对称位置: 12345678910111213141516171819class Solution {public: // 传入对称位置的两个对称位置 bool isMirror(TreeNode* left 2024-06-21 LeetCode #算法 #数据结构 #leetcode
2024.06.20 刷题日记 2. 两数相加这道题目的思路就是模拟,好处是逆序的,不用反转链表: 1234567891011121314151617181920212223242526272829ListNode* addTwoNumbers(ListNode* l1, ListNode* l2) { // 创建一个新的链表节点,作为返回结果的头节点 ListNode* dummyHead 2024-06-20 LeetCode #算法 #数据结构 #leetcode
2024.06.19 刷题日记 41. 缺失的第一个正数这个题目的通过率很低,是一道难题,类似于脑筋急转弯,确实不好想。实际上,对于一个长度为 N 的数组,其中没有出现的最小正整数只能在 [1,N+1] 中。 这个结论并不好想,举个例子:nums = [3,4,-1,1],长度为 4,未出现的最小正数是 2;极端一点,nums = [1,2,3,4],未出现的最小正数是 5。因此算法的第一步就是预处理,将这个范围之外的数全部 2024-06-19 LeetCode #算法 #数据结构 #leetcode