LeetCode 精选 100 题刷题记录
本项目用于记录和练习 LeetCode 精选 100 题,使用 Java 语言实现。
leetcode100/
├── src/main/java/com/
│ ├── 哈希/
│ │ ├── 两数之和/
│ │ ├── 字母异位词分组/
│ │ └── 最长连续序列/
│ ├── 双指针/
│ │ ├── 移动零/
│ │ └── 盛水最多的容器/
│ └── ...
├── pom.xml
└── README.md
- Java: JDK 8
- 构建工具: Maven
- JDK 8 或更高版本
- Maven 3.6 或更高版本
# 编译项目
mvn compile
# 运行项目
mvn exec:java -Dexec.mainClass="com.哈希.Main"| 序号 | 题目 | 难度 | 状态 |
|---|---|---|---|
| 1 | 两数之和 | 简单 | ✅ 已完成 |
| 2 | 字母异位词分组 | 中等 | ✅ 已完成 |
| 3 | 最长连续序列 | 中等 | ✅ 已完成 |
| 序号 | 题目 | 难度 | 状态 |
|---|---|---|---|
| 1 | 移动零 | 简单 | ✅ 已完成 |
| 2 | 盛水最多的容器 | 中等 | ✅ 已完成 |
给定一个整数数组 nums 和一个目标值 target,找出数组中和为目标值的两个数的索引。
思路: 使用哈希表存储已遍历的数字及其索引,遍历时查找 target - nums[i] 是否在哈希表中。
将字符串数组中的字母异位词分组。
思路: 将每个字符串排序后作为键,使用哈希表进行分组。
找出数组中最长连续序列的长度。
思路: 使用哈希集合存储所有数字,遍历时只从序列起点开始计数。
将数组中的所有 0 移动到末尾,保持非零元素的相对顺序。
思路: 使用快慢指针,慢指针指向下一个非零元素应放置的位置。
找出两条垂线,使它们与 x 轴共同构成的容器可以容纳最多的水。
思路: 使用双指针从两端向中间移动,每次移动较短的垂线。
MIT License