力扣 Hot100 刷题日记:高效算法训练指南
力扣 Hot100 简介
力扣(LeetCode)的 Hot100 题目列表是平台精选的高频面试题,涵盖数组、链表、动态规划等核心算法领域。通过系统刷题,可以快速掌握算法思维和编码技巧,适合备战技术面试或提升算法能力。
刷题方法论
每日刷题节奏
建议每天完成 2-3 题,优先选择标签为「高频」的题目。初期可按照「简单 → 中等」难度递进,后期穿插困难题。每道题时间控制在 30-45 分钟,超时则参考题解。
错题复盘机制
建立错题本记录以下内容:
- 初始错误思路
- 最优解的关键突破点
- 时间/空间复杂度分析 例如,动态规划类题目需明确状态转移方程的定义。
经典题目解析与代码示例
两数之和(#1)
问题描述:在数组中找到和为 target 的两个数的索引。
哈希表解法:
def twoSum(nums, target):
hashmap = {}
for i, num in enumerate(nums):
complement = target - num
if complement in hashmap:
return [hashmap[complement], i]
hashmap[num] = i
return []
- 时间复杂度:O(n)
- 空间复杂度:O(n)
盛最多水的容器(#11)
双指针法:
def maxArea(height):
left, right = 0, len(height) - 1
max_area = 0
while left < right:
area = min(height[left], height[right]) * (right - left)
max_area = max(max_area, area)
if height[left] < height[right]:
left += 1
else:
right -= 1
return max_area
- 关键点:移动较短边的指针以探索更大面积
1455

被折叠的 条评论
为什么被折叠?



