- 博客(9)
- 收藏
- 关注
原创 【LeetCode 3】无重复字符的最长子串 | Python 滑动窗口(附傻瓜思路)
Hi 大家好,还是木木。今天是 LeetCode 的Medium经典题——无重复字符的最长子串。这道题是“滑动窗口”算法的开山鼻祖。很多同学一开始做这道题,脑子里想的都是两层for循环暴力硬搜,结果不仅代码写得像乱麻,提交后还直接给你甩一个“超时(Time Limit Exceeded)”。其实,解决这道题只需要伸缩一下你的“窗口”,像一只毛毛虫一样在字符串上爬一遍就搞定啦!给定一个字符串s,请你找出其中不含有重复字符的最长子串的长度。举个栗子:输入输出3解释:因为无重复字符的最长子串是"abc"
2025-12-10 11:20:35
740
2
原创 【LeetCode 42】接雨水 | Python 双指针:很难?其实是“盛水”的升级版!(附傻瓜思路)
Hi 大家好,我是木木。今天是 LeetCode 里的经典难题——接雨水。这也是一道面试高频题。乍一看图里坑坑洼洼的,完全不知道怎么算水。但其实冷静下来想,这道题的核心逻辑和第 11 题《盛最多水的容器》一模一样,依然是**“木桶效应”(短板理论)。只要想通了“水能装多高,取决于两边最短的那块板”**,代码其实只有十几行!
2025-12-02 13:56:19
557
原创 【LeetCode 15】三数之和 | Python 排序+双指针:如何优雅地去重?(附傻瓜思路)
Hi 大家好,我是 木木。今天是 LeetCode 里的“大魔王”——三数之和。一开始我想用三层 for 循环暴力破解,结果不仅超时了,还被重复结果搞得焦头烂额(比如 [-1, 0, 1] 和 [0, 1, -1] 怎么算成一个?后来看了大神解法才恍然大悟:既然怕重复,那就先给它们排个队(排序)啊!排好队了,长得一样的数字就挨在一起了,处理起来简直不要太容易。给你一个整数数组 nums,判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i!= j、i!= k 且 j!
2025-12-01 14:02:54
552
原创 【LeetCode 11】盛最多水的容器 | Python 双指针:经典的“短板效应” (附傻瓜思路)
Hi 大家好,我是 木木。刚做完《移动零》,又遇到了另一道“双指针”的经典题。但这道题有点不一样,上一题是两个指针像“龟兔赛跑”一样同向跑,这道题是像“拉窗帘”一样从两边往中间合。虽然是 Medium 难度,但只要想通了“木桶效应”,代码其实比 Easy 题还简单!给你一个数组height,里面是一排竖着的线(柱子)。我们要选出两根柱子,让它们和 x 轴围成的容器能装最多的水。举个栗子:输入:[1, 8, 6, 2, 5, 4, 8, 3, 7]
2025-12-01 10:27:16
564
原创 【LeetCode 283】移动零 |Python 零基础小白的刷题笔记(附傻瓜思路)
给定一个数组nums,编写一个函数将所有0移动到数组的末尾,同时保持非零元素的相对顺序。举个栗子:输入:nums = [0, 1, 0, 3, 12]输出:[1, 3, 12, 0, 0]
2025-11-30 12:59:43
958
2
原创 【LeetCode 128】最长连续序列 | Python 零基础小白的刷题笔记(附傻瓜思路)
HI,大家好,还是木木!今天这道题是 Medium 难度的,刚看到题目时我其实挺懵的——给一堆乱序的数字,让我找最长的连续数字?如果是人眼看,肯定要把它们排个序才看得清。没错!我的第一反应(傻瓜思路)就是排序。虽然题目里悄悄说要求 O(N) 的时间复杂度(排序通常是 O(N \log N)),但作为小白,先做出来才是硬道理!同时,我也学会了另一种大神用的“集合法”,今天把两种思路都分享给大家。给定一个未排序的整数数组nums,找出数字连续的最长序列(不要求原数组里连续,只要数字是连续的就行)的长度。
2025-11-30 12:17:51
899
原创 【Python 基础】刷题“三剑客”:列表、字典、集合,到底怎么选?
Hi 大家好,我是木木。整理了几道 LeetCode 之后,我发现一个真理:算法题做不出来,很多时候不是逻辑不行,而是工具没选对。Python 里最常用的三个数据容器:List(列表)、Dict(字典)、Set(集合),它们就像咱们工具箱里的三剑客,各有各的绝招。今天我们先花 5 分钟把这三位“大将”的底牌摸透,以后看到题就知道该派谁上场了!要想顺序存数据,用列表。要想根据 A找B,用字典。要想去重或者只在乎有木有,用集合。磨刀不误砍柴工,把这三个工具用顺手了,刷题难度直接减半!大家加油!💪。
2025-11-29 18:26:15
472
原创 【LeetCode 49】字母异位词分组 |Python 零基础小白的刷题笔记(附傻瓜思路)
HI,大家好,还是木木!上一题我们刚学会了用字典(哈希表)来“查户口”,今天这道题,我们继续用字典来解决问题!题目名字叫“字母异位词”,听起来很高大上,其实说白了就是“换汤不换药”——单词里的字母完全一样,只是排列顺序变了。给你一堆字符串数组,让你把“字母异位词”归类在一起。举个栗子eatteaate这三个单词,拆开来看都包含a, e, t三个字母,只是顺序不一样,它们是一家人。tannat都包含a, n, t,它们是一家人。bat只有自己。
2025-11-28 21:04:13
415
原创 【LeetCode 01】两数之和 | Python 零基础小白的刷题笔记(附傻瓜思路)
零基础给你一个数组nums和一个目标值target,让你在数组里找到两个数,它俩加起来等于target,然后返回这两个数的下标。target = 9因为 2+7=9,所以返回下标[0, 1]。
2025-11-28 11:26:48
368
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅