- 博客(12)
- 收藏
- 关注
原创 Leetcode笔记java11|150. 逆波兰表达式求值、239. 滑动窗口最大值、347.前 K 个高频元素
遇到数字入栈,遇到运算符出栈两个元素计算,并将结果重新压入栈中。
2025-01-09 23:45:34
368
原创 Leetcode(Java)笔记10| 232.用栈实现队列、 225. 用队列实现栈、20. 有效的括号、 1047. 删除字符串中的所有相邻重复项
使用两个栈模拟队列,一个进栈一个出栈入队列:入栈即为入队列出队列:如果出栈中已经有元素,将元素pop;出栈为空再将进栈的元素pop,push进出栈中,再pop出栈的元素即为出队列是否为空:进栈和出栈都为空则队列为空。
2025-01-08 23:09:29
421
原创 Leetcode(Java)笔记09|151.翻转字符串里的单词 、卡码网:55.右旋转字符串、28. 实现 strStr() 、459.重复的子字符串
(如果字符串中由重复的子串组成,那么拼接之后中间一定还有一个s)2、去掉前后各一个字符,避免检索到复制前原字符而不是中间的。此处用的是next数组整体右移,首位为-1。1、将字符串复制一份拼接起来,s1=s+s。2、两个子串分别翻转。
2025-01-03 23:51:40
418
原创 Java笔记|字符串常用操作
String类是不可改变的,只能赋值。如果想对字符串做修改,需要用StringBuffer&StringBuilder类。
2024-12-29 00:33:34
477
原创 Leetcode(Java)笔记07|454.四数相加II 、383. 赎金信、15. 三数之和 、18. 四数之和
(注意,例如: 不要判断nums[k] > target 就返回了,三数之和 可以通过 nums[i] > 0 就返回了,因为 0 已经是确定的数了,四数之和这道题目 target是任意值。比如:数组是[-4, -3, -2, -1],target是-10,不能因为-4 > -10而跳过。但是我们依旧可以去做剪枝,逻辑变成nums[i] > target && (nums[i] >=0 || target >= 0)就可以了。
2024-12-09 22:55:17
1194
原创 Leetcode(Java)笔记05|哈希表理论基础、HashMap的用法、Hashset的用法
在Java的集合框架中,Map接口用于存储键值对,提供了一种基于键进行查找和操作的数据结构,HashMap是Map结构的一种。哈希函数,把内容直接映射为哈希表上的索引,然后就可以通过查询索引下标快速知道这个内容是否已经在集合里。HashMap 的 key 与 value 类型可以相同也可以不同,根据定义,不受限制。HashSet是基于HashMap的集合,不允许有重复元素,但其中允许存在null值。例如冲突的位置,放了小李,那么就向下找一个空位放置小王的信息。6、替换元素:替换指定key对应的value。
2024-12-07 23:27:07
418
原创 Leetcode(Java)笔记06|242.有效的字母异位词、349. 两个数组的交集、 202. 快乐数、 1. 两数之和
数组其实就是一个简单哈希表,而且这道题目中字符串只有小写字符,那么就可以定义一个数组,来记录字符串s里字符出现的次数。定义一个数组叫做record用来上记录字符串s里字符出现的次数。需要把字符映射到数组也就是哈希表的索引下标上,因为字符a到字符z的ASCII是26个连续的数值,所以字符a映射为下标0,相应的字符z映射为下标25。(在遍历字符串s的时候,只需要将 s[i] - ‘a’ 所在的元素做+1 操作即可,并不需要记住字符a的ASCII,只要求出一个相对数值就可以了。
2024-12-03 23:26:06
1392
原创 Leetcode(Java)笔记04|24. 两两交换链表中的节点、19.删除链表的倒数第N个节点、 面试题 02.07. 链表相交 、142.环形链表II
(1)、 采用虚拟头结点dummy比较方便,不用单独处理头结点(2)、 链表:dummy -> 1 -> 2 -> 3 -> 4。
2024-12-01 15:50:26
1566
原创 Leetcode(Java)笔记03|203.移除链表元素 、707.设计链表、206.反转链表
【代码】Leetcode(Java)笔记03|203.移除链表元素 、707.设计链表、206.反转链表。
2024-11-30 21:34:04
402
原创 Leetcode(Java)笔记02|209.长度最小的子数组、 59.螺旋矩阵II、区间和、开发商购买土地
1、暴力求解两个for循环,然后不断的寻找符合条件的子序列,时间复杂度是O(n^2)。
2024-11-29 00:47:45
428
原创 Leetcode(Java)笔记01|704. 二分查找、27. 移除元素、977.有序数组的平方
1、左闭右闭target 的区间为[left, right] (这个很重要非常重要),所以有如下两点:(1)、while (left
2024-11-27 23:57:52
395
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人