<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[梁超杰]]></title><description><![CDATA[不积跬步无以至千里]]></description><link>https://blog.youkuaiyun.com/LosingCarryJie</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; LosingCarryJie]]></copyright><item><title><![CDATA[LeetCode热题100——42. 接雨水]]></title><link>https://blog.youkuaiyun.com/LosingCarryJie/article/details/149837497</link><guid>https://blog.youkuaiyun.com/LosingCarryJie/article/details/149837497</guid><author>LosingCarryJie</author><pubDate>Mon, 04 Aug 2025 16:10:38 +0800</pubDate><description><![CDATA[终于要讲这道毒瘤面试题了，据说字节跳动保洁阿姨都能写出来 0.0给定 n 个非负整数表示每个宽度为 1 的柱子的高度图，计算按此排列的柱子，下雨之后能接多少雨水。输入：height = [0,1,0,2,1,0,1,3,2,1,2,1]输出：6解释：上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图，在这种情况下，可以接 6 个单位的雨水（蓝色部分表示雨水）。]]></description><category></category></item><item><title><![CDATA[LeetCode热题100——146. LRU 缓存]]></title><link>https://blog.youkuaiyun.com/LosingCarryJie/article/details/149835996</link><guid>https://blog.youkuaiyun.com/LosingCarryJie/article/details/149835996</guid><author>LosingCarryJie</author><pubDate>Fri, 01 Aug 2025 16:44:24 +0800</pubDate><description><![CDATA[请你设计并实现一个满足  LRU (最近最少使用) 缓存 约束的数据结构。实现 LRUCache 类：LRUCache(int capacity) 以 正整数 作为容量 capacity 初始化 LRU 缓存int get(int key) 如果关键字 key 存在于缓存中，则返回关键字的值，否则返回 -1。void put(int key, int value) 如果关键字 key 已经存在，则变更其数据值 value；如果不存在，则向缓存中插入该组 key-value。]]></description><category></category></item><item><title><![CDATA[LeetCode热题100——11. 盛最多水的容器]]></title><link>https://blog.youkuaiyun.com/LosingCarryJie/article/details/149808144</link><guid>https://blog.youkuaiyun.com/LosingCarryJie/article/details/149808144</guid><author>LosingCarryJie</author><pubDate>Thu, 31 Jul 2025 16:29:18 +0800</pubDate><description><![CDATA[给定一个长度为 n 的整数数组 height。有 n 条垂线，第 i 条线的两个端点是 (i, 0) 和 (i, height[i])。找出其中的两条线，使得它们与 x 轴共同构成的容器可以容纳最多的水。返回容器可以储存的最大水量。说明：你不能倾斜容器。输入：[1,8,6,2,5,4,8,3,7]输出：49解释：图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下，容器能够容纳水（表示为蓝色部分）的最大值为 49。]]></description><category></category></item><item><title><![CDATA[算法基础——二分查找]]></title><link>https://blog.youkuaiyun.com/LosingCarryJie/article/details/149799246</link><guid>https://blog.youkuaiyun.com/LosingCarryJie/article/details/149799246</guid><author>LosingCarryJie</author><pubDate>Thu, 31 Jul 2025 11:29:00 +0800</pubDate><description><![CDATA[二分查找算法是一种在已排序数组中，通过将搜索区间反复划分为两半的搜索算法。二分查找的思想是利用数组已排序的信息，将时间复杂度降低到 O(log N)有两种方法实现二分查找 (迭代和递归)]]></description><category></category></item><item><title><![CDATA[LeetCode热题100——739. 每日温度]]></title><link>https://blog.youkuaiyun.com/LosingCarryJie/article/details/149781255</link><guid>https://blog.youkuaiyun.com/LosingCarryJie/article/details/149781255</guid><author>LosingCarryJie</author><pubDate>Wed, 30 Jul 2025 16:57:13 +0800</pubDate><description><![CDATA[给定一个整数数组 temperatures ，表示每天的温度，返回一个数组 answer ，其中 answer[i] 是指对于第 i 天，下一个更高温度出现在几天后。如果气温在这之后都不会升高，请在该位置用 0 来代替。]]></description><category></category></item><item><title><![CDATA[LeetCode热题100——155. 最小栈]]></title><link>https://blog.youkuaiyun.com/LosingCarryJie/article/details/149756604</link><guid>https://blog.youkuaiyun.com/LosingCarryJie/article/details/149756604</guid><author>LosingCarryJie</author><pubDate>Tue, 29 Jul 2025 22:11:31 +0800</pubDate><description><![CDATA[设计一个支持 push ，pop ，top 操作，并能在的栈。实现 MinStack 类:MinStack() 初始化堆栈对象。void push(int val) 将元素val推入堆栈。void pop() 删除堆栈顶部的元素。int top() 获取堆栈顶部的元素。int getMin() 获取堆栈中的最小元素。]]></description><category></category></item><item><title><![CDATA[LeetCode热题100——46. 全排列]]></title><link>https://blog.youkuaiyun.com/LosingCarryJie/article/details/149742678</link><guid>https://blog.youkuaiyun.com/LosingCarryJie/article/details/149742678</guid><author>LosingCarryJie</author><pubDate>Tue, 29 Jul 2025 12:16:17 +0800</pubDate><description><![CDATA[给定一个不含重复数字的数组 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],[1,0]]示例 3：输入：nums = [1]输出：[[1]]提示：nums 中的所有整数 互不相同。]]></description><category></category></item><item><title><![CDATA[LeetCode热题100—— 20. 有效的括号]]></title><link>https://blog.youkuaiyun.com/LosingCarryJie/article/details/149725378</link><guid>https://blog.youkuaiyun.com/LosingCarryJie/article/details/149725378</guid><author>LosingCarryJie</author><pubDate>Mon, 28 Jul 2025 21:11:49 +0800</pubDate><description><![CDATA[给定一个只包括 ‘(’，‘)’，‘{’，‘}’，‘[’，‘]’ 的字符串 s ，判断字符串是否有效。有效字符串需满足：左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。每个右括号都有一个对应的相同类型的左括号。示例 1：输入：s = “()”输出：true示例 2：输入：s = “()[]{}”输出：true示例 3：输入：s = “(]”输出：false示例 4：输入：s = “([])”输出：true示例 5：输入：s = “([)]”]]></description><category></category></item><item><title><![CDATA[LeetCode热题100——142. 环形链表 II]]></title><link>https://blog.youkuaiyun.com/LosingCarryJie/article/details/149721948</link><guid>https://blog.youkuaiyun.com/LosingCarryJie/article/details/149721948</guid><author>LosingCarryJie</author><pubDate>Mon, 28 Jul 2025 17:56:24 +0800</pubDate><description><![CDATA[给定一个链表的头节点  head ，返回链表开始入环的第一个节点。如果链表无环，则返回 null。不允许修改 链表。]]></description><category></category></item><item><title><![CDATA[LeetCode热题100——141. 环形链表]]></title><link>https://blog.youkuaiyun.com/LosingCarryJie/article/details/149720624</link><guid>https://blog.youkuaiyun.com/LosingCarryJie/article/details/149720624</guid><author>LosingCarryJie</author><pubDate>Mon, 28 Jul 2025 16:59:32 +0800</pubDate><description><![CDATA[给你一个链表的头节点 head ，判断链表中是否有环。如果链表中有某个节点，可以通过连续跟踪 next 指针再次到达，则链表中存在环。为了表示给定链表中的环，评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置（索引从 0 开始）。注意：pos 不作为参数进行传递。仅仅是为了标识链表的实际情况。如果链表中存在环 ，则返回 true。否则，返回 false。]]></description><category></category></item><item><title><![CDATA[LeetCode热题100——41. 缺失的第一个正数]]></title><link>https://blog.youkuaiyun.com/LosingCarryJie/article/details/149610965</link><guid>https://blog.youkuaiyun.com/LosingCarryJie/article/details/149610965</guid><author>LosingCarryJie</author><pubDate>Thu, 24 Jul 2025 17:50:27 +0800</pubDate><description><![CDATA[给你一个未排序的整数数组 nums ，请你找出其中没有出现的最小的正整数。请你实现时间复杂度为 O(n) 并且只使用常数级别额外空间的解决方案。示例 1：输入：nums = [1,2,0]输出：3解释：范围 [1,2] 中的数字都在数组中。示例 2：输入：nums = [3,4,-1,1]输出：2解释：1 在数组中，但 2 没有。示例 3：输入：nums = [7,8,9,11,12]输出：1解释：最小的正数 1 没有出现。]]></description><category></category></item><item><title><![CDATA[LeetCode热题100——560. 和为 K 的子数组]]></title><link>https://blog.youkuaiyun.com/LosingCarryJie/article/details/149608485</link><guid>https://blog.youkuaiyun.com/LosingCarryJie/article/details/149608485</guid><author>LosingCarryJie</author><pubDate>Thu, 24 Jul 2025 16:50:27 +0800</pubDate><description><![CDATA[我们遍历数组时记录当前前缀和 pre，每次判断是否存在一个之前的前缀和 pre - k，如果存在，说明从该位置之后到当前位置的和就是 k，计数加上这个前缀和出现的次数。给你一个整数数组 nums 和一个整数 k ，请你统计并返回 该数组中和为 k 的子数组的个数。若 pre[j] - pre[i] == k，说明 nums[i…j-1] 的和为 k。输入：nums = [1,1,1], k = 2。输入：nums = [1,2,3], k = 3。我们要找的是：有多少个连续子数组的和为 k。]]></description><category></category></item><item><title><![CDATA[LeetCode热题100——3. 无重复字符的最长子串]]></title><link>https://blog.youkuaiyun.com/LosingCarryJie/article/details/149604647</link><guid>https://blog.youkuaiyun.com/LosingCarryJie/article/details/149604647</guid><author>LosingCarryJie</author><pubDate>Thu, 24 Jul 2025 16:29:25 +0800</pubDate><description><![CDATA[滑动窗口，一个快指针先走，一个慢指针后走，通过不断调整快慢指针的间隔来找到最大长度。请注意，你的答案必须是 子串 的长度，“pwke” 是一个子序列，不是子串。给定一个字符串 s ，请你找出其中不含有重复字符的 最长 子串 的长度。解释: 因为无重复字符的最长子串是 “abc”，所以其长度为 3。解释: 因为无重复字符的最长子串是 “wke”，所以其长度为 3。解释: 因为无重复字符的最长子串是 “b”，所以其长度为 1。输入: s = “abcabcbb”输入: s = “pwwkew”]]></description><category></category></item><item><title><![CDATA[LeetCode热题100——128. 最长连续序列]]></title><link>https://blog.youkuaiyun.com/LosingCarryJie/article/details/149602461</link><guid>https://blog.youkuaiyun.com/LosingCarryJie/article/details/149602461</guid><author>LosingCarryJie</author><pubDate>Thu, 24 Jul 2025 14:13:50 +0800</pubDate><description><![CDATA[给定一个未排序的整数数组 nums ，找出数字连续的最长序列（不要求序列元素在原数组中连续）的长度。请你设计并实现时间复杂度为 O(n) 的算法解决此问题。]]></description><category></category></item><item><title><![CDATA[LeetCode热题100——49. 字母异位词分组]]></title><link>https://blog.youkuaiyun.com/LosingCarryJie/article/details/149601478</link><guid>https://blog.youkuaiyun.com/LosingCarryJie/article/details/149601478</guid><author>LosingCarryJie</author><pubDate>Thu, 24 Jul 2025 13:03:40 +0800</pubDate><description><![CDATA[输入: strs = [“eat”, “tea”, “tan”, “ate”, “nat”, “bat”]字符串 “ate” ，“eat” 和 “tea” 是字母异位词，因为它们可以重新排列以形成彼此。输出: [[“bat”],[“nat”,“tan”],[“ate”,“eat”,“tea”]]字符串 “nat” 和 “tan” 是字母异位词，因为它们可以重新排列以形成彼此。可以按任意顺序返回结果列表。输入: strs = [“a”]输入: strs = [“”]输出: [[“a”]]输出: [[“”]]]]></description><category></category></item><item><title><![CDATA[LeetCode热题100—— 238. 除自身以外数组的乘积]]></title><link>https://blog.youkuaiyun.com/LosingCarryJie/article/details/149420422</link><guid>https://blog.youkuaiyun.com/LosingCarryJie/article/details/149420422</guid><author>LosingCarryJie</author><pubDate>Thu, 17 Jul 2025 14:24:50 +0800</pubDate><description><![CDATA[给你一个整数数组 nums，返回 数组 answer ，其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在  32 位 整数范围内。请 不要使用除法，且在 O(n) 时间复杂度内完成此题。]]></description><category></category></item><item><title><![CDATA[LeetCode热题100—— 152. 乘积最大子数组]]></title><link>https://blog.youkuaiyun.com/LosingCarryJie/article/details/149232204</link><guid>https://blog.youkuaiyun.com/LosingCarryJie/article/details/149232204</guid><author>LosingCarryJie</author><pubDate>Wed, 09 Jul 2025 19:55:53 +0800</pubDate><description><![CDATA[给你一个整数数组 nums ，请你找出数组中乘积最大的非空连续 子数组（该子数组中至少包含一个数字），并返回该子数组所对应的乘积。测试用例的答案是一个 32-位 整数。示例 1:输入: nums = [2,3,-2,4]输出: 6解释: 子数组 [2,3] 有最大乘积 6。示例 2:输入: nums = [-2,0,-1]输出: 0解释: 结果不能为 2, 因为 [-2,-1] 不是子数组。提示:nums 的任何子数组的乘积都 保证 是一个 32-位 整数。]]></description><category></category></item><item><title><![CDATA[LeetCode热题100—— 32. 最长有效括号 (hard)]]></title><link>https://blog.youkuaiyun.com/LosingCarryJie/article/details/149222659</link><guid>https://blog.youkuaiyun.com/LosingCarryJie/article/details/149222659</guid><author>LosingCarryJie</author><pubDate>Wed, 09 Jul 2025 15:02:26 +0800</pubDate><description><![CDATA[https://leetcode.cn/problems/longest-valid-parentheses/description/?envType=study-plan-v2&envId=top-100-liked给你一个只包含 ‘(’ 和 ‘)’ 的字符串，找出最长有效（格式正确且连续）括号子串的长度。示例 1：输入：s = “(()”
输出：2
解释：最长有效括号子串是 “()”
示例 2：输入：s = “)()())”
输出：4
解释：最长有效括号子串是 “()()”
示例 3：输入：s = “”]]></description><category></category></item><item><title><![CDATA[Java实现快速排序]]></title><link>https://blog.youkuaiyun.com/LosingCarryJie/article/details/149070744</link><guid>https://blog.youkuaiyun.com/LosingCarryJie/article/details/149070744</guid><author>LosingCarryJie</author><pubDate>Wed, 02 Jul 2025 15:27:32 +0800</pubDate><description><![CDATA[代码中稍作改动，先从左往右遍历发现，原本1应该是在第一个位置，但是满足  nums[i] <= pivot 会被移动到第二个位置。不是，可以选其他位置，例如中间或者最右侧，选择最左边是简化逻辑。空间复杂度：O(log n)（递归调用栈）平均时间复杂度：O(n log n)最坏时间复杂度：O(n²)]]></description><category></category></item><item><title><![CDATA[LeetCode热题100—— 94. 二叉树的中序遍历]]></title><link>https://blog.youkuaiyun.com/LosingCarryJie/article/details/148874327</link><guid>https://blog.youkuaiyun.com/LosingCarryJie/article/details/148874327</guid><author>LosingCarryJie</author><pubDate>Tue, 24 Jun 2025 17:21:44 +0800</pubDate><description><![CDATA[【代码】LeetCode热题100—— 94. 二叉树的中序遍历。]]></description><category></category></item></channel></rss>