Commit Graph

156 Commits

Author SHA1 Message Date
whaifree
567e7f1ff2 Merge branch 'master' of http://42.192.130.83:3000/whaifree/LeetCode 2024-08-02 23:48:01 +08:00
whaifree
28a454f3ae 该commit包含了对四个不同的LeetCode问题的解决方案。每个问题都是通过一个单独的Java类实现的,这些类被添加到cn.whaifree.redo.redo_all_240721包中。具体问题和解决方案如下:
1. [LeetCode40.java](file://src/main/java/cn/whaifree/redo/redo_all_240721/LeetCode40.java):解决组合总和II的问题,通过回溯算法找出所有不重复的组合。
2. [LeetCode90.java](file://src/main/java/cn/whaifree/redo/redo_all_240721/LeetCode90.java):解决子集II的问题,同样使用回溯算法,找出所有可能的不重复子集。
3. [LeetCode131.java](file://src/main/java/cn/whaifree/redo/redo_all_240721/LeetCode131.java):解决分割回文串的问题,提供两种解决方案:动态规划和回溯算法。
4. [LeetCode450.java](file://src/main/java/cn/whaifree/redo/redo_all_240721/LeetCode450.java):解决删除二叉搜索树中的节点的问题,实现了一种删除节点的方法。
5. [LeetCode501.java](file://src/main/java/cn/whaifree/redo/redo_all_240721/LeetCode501.java):找出二叉搜索树中的模式,通过遍历算法找出出现次数最多的元素。6. [LeetCode701.java](file://src/main/java/cn/whaifree/redo/redo_all_240721/LeetCode701.java):解决向二叉搜索树插入节点的问题,提供了一个递归的解决方案。

这些解决方案都是针对LeetCode上的特定问题,目的是提供清晰、高效的代码实现,以便其他开发者可以学习和参考。
2024-08-02 23:47:30 +08:00
kyriewhluo
c14b127911 代码重构:优化查询性能并解决超时问题- 引入线程池来处理并发查询请求,以提升查询性能。
- 使用AtomicInteger保证实例数量统计的安全性。
- 利用CountDownLatch确保所有并行查询任务完成后返回结果。
- 主要针对集群和实例数量查询接口的性能优化,解决超时问题。
2024-08-02 11:01:42 +08:00
whaifree
6320272406 添加了LeetCode题目解答,包括216、222、232、236、257、347、77、94、101、102、105、110题。 2024-07-28 22:04:52 +08:00
whaifree
a91dc82012 新增 LeetCode 题目解答: 206, 287, 225, 28, 2487, 15, 202 2024-07-24 00:11:03 +08:00
whaifree
753858679c 添加了五个LeetCode问题的解决方案,优化了代码结构。
LeetCode15_$
2024-07-22 22:55:24 +08:00
whaifree
af61bc8332 提交说明:删除了一个空行以优化代码结构,并在Solution类中添加了注释以提高代码可读性。 2024-06-01 09:44:41 +08:00
whaifree
ed7b36aa7c 修复了LeetCode206的测试用例,优化了代码结构 2024-05-24 19:45:55 +08:00
whaifree
aba574133e 重命名包路径以简化项目结构 2024-05-12 13:01:57 +08:00
whaifree
31bf270e6c 提交更新:实现LeetCode题目,优化代码逻辑。 2024-05-01 16:04:30 +08:00
whaifree
121028b955 修复了LeetCode300和LeetCode115的测试代码,优化了提交信息格式。 2024-04-30 12:55:51 +08:00
whaifree
d5e3175b11 实现MyHashMap类,修复LeetCode相关题目,调整TestInteger类代码结构。 2024-04-30 11:20:07 +08:00
whaifree
6bddb836c9 提交动态规划相关问题解决方案:不相交线、最大子序列和、子序列判断。 2024-04-25 13:16:43 +08:00
whaifree
e20cf9cea7 优化代码结构,提高代码可读性和可维护性 2024-04-24 13:20:11 +08:00
whaifree
392278d319 添加了LeetCode第2题、第3题和第989题的解法,并优化了第912题的排序算法。 2024-04-21 13:40:48 +08:00
whaifree
8749e5b188 提交说明: 删除了冗余代码,优化了测试用例,并添加了新的解题方法。 2024-04-19 14:58:31 +08:00
whaifree
3b19c764d8 提交说明: 更新了LeetCode解题代码,包括股票买卖问题、单调栈问题以及字符串编辑距离问题。 2024-04-16 15:43:05 +08:00
whaifree
29eb97e14c 提交代码:实现 LeetCode 题目 48 和 33 的解法 2024-04-15 13:04:45 +08:00
whaifree
441579c86c 提交说明:更新了LeetCode337、LeetCode739、HS、LeetCode705的代码,并添加了测试用例。优化了代码结构,提高了代码的可读性和可维护性。 2024-04-14 22:16:36 +08:00
whaifree
7ed697d929 添加了23、32、503、739、24个测试用例,优化了188题的代码,并添加了线程测试类ThreadTest和LeetCode123的测试用例。 2024-04-14 11:58:15 +08:00
whaifree
0cbd5b4619 LeetCode动态规划题目和相关测试 2024-04-12 22:50:16 +08:00
whaifree
0ec6ab1e6c Update files and add new classes LeetCode496, LeetCode503, and others, with related tests and solutions. 2024-04-11 13:08:32 +08:00
whai
040afd5488 Updated files: .sync.cmd src/main/java/cn/whaifree/MonotoneStack/LeetCode739.java src/main/java/cn/whaifree/leetCode/LeetCode/LeetCode42.java 2024-04-09 10:50:12 +08:00
whai
30cc40a5ab Updated files: cc.txt hs_err_pid119104.log src/main/java/cn/whaifree/redo/redo_24_4_1/LeetCode2602.java src/main/java/cn/whaifree/redo/redo_24_4_1/PaLouTi.java src/main/java/cn/whaifree/redo/redo_24_4_6/LeetCode121.java src/main/java/cn/whaifree/redo/redo_24_4_6/LeetCode21.java src/main/java/cn/whaifree/redo/redo_24_4_6/LeetCode22.java src/main/java/cn/whaifree/redo/redo_24_4_6/LeetCode31.java sync.cmd 2024-04-07 14:30:54 +08:00
whai
21761b49b5 redo 2024-04-06 18:20:51 +08:00
whai
d8c1950a6b redo 2024-04-04 17:06:59 +08:00
whai
1044629a5e redo 2024-03-31 15:58:42 +08:00
whai
c4248f2cfe redo 2024-03-31 11:34:29 +08:00
whai
2cfc6687bf 前缀和相关题目
2602
462
453
携程笔试题
2024-03-29 17:00:18 +08:00
whai
bdd083a912 lc 2024-03-27 21:52:49 +08:00
whai
9d0ddcf668 M src/main/java/cn/whaifree/interview/Meituan/MeiTuan24QiuZhao.java
M src/main/java/cn/whaifree/interview/MiHaYou/Problem310.java
 M src/main/java/cn/whaifree/leetCode/Dynamic/AbsoluteBeiBao.java
 M src/main/java/cn/whaifree/leetCode/Dynamic/LeetCode474.java
 M src/main/java/cn/whaifree/leetCode/Dynamic/LeetCode494.java
 M src/main/java/cn/whaifree/leetCode/Dynamic/LeetCode518.java
 M src/main/java/cn/whaifree/test/LambdaClass.java
 M src/main/java/cn/whaifree/test/testTry.java
?? hs_err_pid119104.log
2024-03-26 16:48:15 +08:00
whai
e43801c274 AM src/main/java/cn/whaifree/interview/Meituan/MeiTuan24QiuZhao.java AM src/main/java/cn/whaifree/interview/MiHaYou/Problem310.java AM src/main/java/cn/whaifree/leetCode/Dynamic/AbsoluteBeiBao.java AM src/main/java/cn/whaifree/leetCode/Dynamic/LeetCode474.java M src/main/java/cn/whaifree/leetCode/Dynamic/LeetCode494.java AM src/main/java/cn/whaifree/leetCode/Dynamic/LeetCode518.java M src/main/java/cn/whaifree/test/LambdaClass.java AM src/main/java/cn/whaifree/test/testTry.java ?? hs_err_pid119104.log 2024-03-26 16:45:52 +08:00
whai
385e14423e 美团题目
LeetCode复试
2024-03-24 18:48:26 +08:00
whai
81886a3091 random 2024-03-22 22:58:08 +08:00
whai
a2d5497bae random 2024-03-22 22:57:40 +08:00
whai
99bda3a447 redo 2024-03-16 19:02:55 +08:00
whai
b633f27b27 动态规划 背包问题 2024-03-12 19:10:19 +08:00
whai
a834a2f158 动态规划 背包问题 2024-03-12 19:10:07 +08:00
whai
1eb60f9be4 动态规划 2024-03-08 22:49:58 +08:00
whai
2dabc83adb 738
968
2024-03-06 16:48:43 +08:00
whai
50cafa2cb5 Syn 2024-03-05 15:40:04 +08:00
whai
bbb29153f5 redo 2024-03-03 20:09:37 +08:00
whai
f14703c22a redo
贪心
n皇后
2024-03-01 13:07:15 +08:00
whai
c6bdb975ec 贪心 2024-02-28 13:45:04 +08:00
whai
e918f47cca 贪心 2024-02-25 22:34:24 +08:00
whai
b8be07776c redo 2024-02-24 12:56:53 +08:00
whai
a9c9c4cf30 redo 2024-02-22 21:30:27 +08:00
whai
ed50ebaeff 回溯 2024-02-20 19:34:14 +08:00
whai
17bbb0f3ed 回溯 2024-02-19 10:48:07 +08:00
whai
508bf989fc 回溯 2024-02-18 09:03:12 +08:00
whai
4fe744c27a 回溯
redo
2024-02-07 01:03:35 +08:00
whai
3c3f373663 回溯 2024-02-02 21:03:16 +08:00
whai
d0f6cb7c3a bts 2024-01-30 23:56:04 +08:00
whai
fac985ee27 bts 2024-01-28 20:07:03 +08:00
whai
adeb1985d8 bn 2024-01-27 21:29:01 +08:00
whai
3c1d53ac10 106 构造树没做出来 2024-01-25 22:33:53 +08:00
whai
ca386eaae0 Tree 2024-01-24 22:10:12 +08:00
whai
24c2458f4f xc 2024-01-23 22:09:57 +08:00
whai
0d147db2aa 递归解决
- 完全二叉树:子树就是一个个满二叉树
- 平衡二叉树:递归求高度,用-1判断是否平衡
2024-01-22 20:56:44 +08:00
whai
f469f18748 复习+
一些二叉树
2024-01-21 22:05:25 +08:00
whai
3247b3f654 各种层次遍历衍生 2024-01-19 22:16:35 +08:00
whai
99db282c5d 各种层次遍历衍生 2024-01-19 14:18:57 +08:00
whai
c6ec4950ea 各种层次遍历衍生 2024-01-18 10:04:56 +08:00
whai
a3f6650e10 统一的迭代法
层次遍历
2024-01-16 21:09:45 +08:00
whai
7268302aec 中序
后序遍历
- 迭代法
2024-01-16 19:31:42 +08:00
whai
5c7137c125 先序遍历 2024-01-14 22:08:17 +08:00
whai
daeea3e734 先序遍历 2024-01-14 18:34:07 +08:00
whai
3df5579ab3 2024-1月 13 14日复刷 2024-01-14 14:21:17 +08:00
whai
0a10a5dcce - 347 堆 2024-01-10 22:11:15 +08:00
whai
53958087af - 239 队列的应用,没做出来 2024-01-09 17:49:57 +08:00
whai
5bc369a02d 栈的应用 2024-01-08 20:54:53 +08:00
whai
742d0471b2 -- 2024-01-07 21:58:15 +08:00
whai
bd0902dfc4 -- 2024-01-06 15:40:09 +08:00
whai
929adbf6bb -- 2024-01-05 22:41:13 +08:00
whai
8765a0f989 28 2024-01-05 17:55:39 +08:00
whai
418bbabea8 ## 字符串
常见解决方法

- **逆转**
- **双指针**
  - 首尾双指针:删除空格,要的才给StringBuilder
  - 双头双指针:移动元素
-

| 类型                 | 题目                                                         | 解决                           | 做题时间       |
| -------------------- | ------------------------------------------------------------ | ------------------------------ | -------------- |
| 多次逆转             | [右旋字符串](https://www.programmercarl.com/kama55.右旋字符串.html#思路) | 三次逆转                       | 2024-1-5 x     |
| 删除空格、逆转字符串 | [151. 反转字符串中的单词 - 力扣(LeetCode)](https://leetcode.cn/problems/reverse-words-in-a-string/) | 双指针删除空格,<br />字符逆战 | **2024-1-5 x** |
|                      |                                                              |                                |                |
2024-01-05 14:26:02 +08:00
whai
92d8e06065 字符串系 2024-01-04 21:23:42 +08:00
whai
93cbd6955c 三指针解决hashmap问题
- 注意重复指针跳过的方法
2024-01-03 22:13:32 +08:00
whai
bdbfa1854c 1
454
2024-01-03 21:01:34 +08:00
whai
8490fdfcf7 1
454
2024-01-02 22:04:25 +08:00
whai
c7ed23b029 LeetCode202
- 快乐数
- 使用Set,循环出现就不是快乐数

LeetCode349
LeetCode350
- 数组交集
- 使用数组映射
2024-01-02 17:42:26 +08:00
whai
48a3b2f043 - 287 使用快慢指针,(如何将数组映射成为一个链表)
|  1   |   2  |  4   |  2   |  3   |      |
| ---- | ---- | ---- | ---- | ---- | ---- |
|  0   |   1  |  2   |  3   |  4   |      |
graph LR
A[0] --> 1
1 --> 2
2 --> 4
4 --> 3
3 --> 2

- 242. 有效的字母异位词
2024-01-01 20:04:29 +08:00
whai
8772be1c10 [142. 环形链表 II](https://leetcode.cn/problems/linked-list-cycle-ii/)
## 1. 为什么快慢指针一定会相遇?

- `V_fast = 2`、`V_slow = 1` 相对速度为1,就一定会相遇

## 2. 为什么慢指针一圈就能一定能被追上?

两个角度:

1. `|fast- slow| < 1 圈` 所以slow在环内走不会超过一周
2. 慢指针走一圈,快指针走两圈,早就遇上了。
2024-01-01 15:35:22 +08:00
whai
db1b18ae63 链表
修改多使用这个栈会更快

LinkedList比Stack快的原因如下:

- 基于数组实现:Stack基于数组实现,随机访问(查找)效率更高,增删改效率较低。

  *     基于链表实现:LinkedList基于链表实现,增删改效率更高,随机访问(查找)效率较低。

**对于频繁的插入、删除操作,利用LinkedList实现栈自然比Stack快很多。**

0207
两个链表交替双指针
原理:双指针交替完长度是一样的,最后会同步
2023-12-31 22:05:09 +08:00
whai
efb982a11b 修改分类 2023-12-31 21:01:41 +08:00
whai
d9687332dc 修改分类 2023-12-31 19:39:18 +08:00
whai
acc3ac725c LeetCode24
- 链表两两对换
2023-12-29 20:18:12 +08:00
whai
f6d0c1582a LeetCode206
- 移动指针的方式不一定是.next
- 递归 只考虑当前这个部分,<b>把其他的部分扔给下一次递归</b>
2023-12-28 20:35:34 +08:00
whai
c998f0351e LeetCode203 707链表
- 双向链表的使用
- 增加虚拟头节点方便操作
2023-12-27 22:08:15 +08:00
whai
8ad2f18126 LeetCode203 707链表
- 双向链表的使用
- 增加虚拟头节点方便操作
2023-12-27 19:44:46 +08:00
whai
9385b628ad LeetCode203 707链表
- 双向链表的使用
- 增加虚拟头节点方便操作
2023-12-27 11:06:00 +08:00
whai
c707fd4ca2 LeetCode54 2023-12-24 22:03:19 +08:00
whai
177d5a4849 LeetCode59 2023-12-24 12:37:56 +08:00
whai
5926432b0a LeetCode209
双指针滑动窗口
while不断去除sum中的数,直到不满足>target的条件
2023-12-10 21:09:11 +08:00
whai
961aa4cea9 LeetCode997
双指针!

- 找到0的左右,分别从左右插入到新数组中
- 从左到右比较最大的数,从大到小插入新的数组中
2023-12-08 21:22:50 +08:00
whai
529a6193d9 LeetCode26 2023-12-07 23:34:42 +08:00
whai
57aa0a6aa9 LeetCode35二分查找
int mid = ((right - left) >> 1) + left; /2 用这个方法
right-left 就是从0开始到n, 右移动一位就是除以2,获得到这个区间的一半,加上起始的left 就是(right + left)/2
2023-12-06 21:46:19 +08:00
whai
66f8bc1019 LeetCode35二分查找
int mid = ((right - left) >> 1) + left; /2 用这个方法
2023-12-06 21:41:12 +08:00
whai
d19cd4f072 367 二分查找深入理解
关注查找的区间问题
2023-12-06 08:18:12 +08:00
whai
01864dd56d 367 二分查找深入理解
关注查找的区间问题
2023-12-05 21:34:29 +08:00