自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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)08|344.反转字符串、 541. 反转字符串II 、卡码网:54.替换数字

设置左右两个双指针进行交换即可。

2024-12-10 23:18:02 141

原创 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关注的人

提示
确定要删除当前文章?
取消 删除