自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 收藏
  • 关注

原创 【LeetCode 1702. 修改后的最大二进制字符串】

从左到右遍历,遇到0,则往后找到下一个0,通过10->01的变换,将下一个0之前的如 11110 变为 01111,此时原来的0和01110组成了 001111,可以通过 00 -> 10 的变换 将001111变为 101111。需要注意先将第二个0变为1,再将第一个0变为1,第一个0之后的1变为0。

2024-04-10 17:20:33 189

原创 【go map】

在特殊的情况下,如果同一个桶中计算出的tophash值相同,则发生冲突,此时会将冲突的key和value存入overflow中。如果B为3,则桶的数量为8,索引范围为0-7。map存入键值对时,会首先对key进行哈希,将得到的哈希值与(2^B-1)进行与运算,得到一个桶的索引。如计算后的tophash存入tophash[0],则将对应的key存入keys[0],将对应的value存入values[0]。当查找对应的key时,首先会通过哈希的低八位找到对应的桶,然后通过哈希的高八位和桶中的tophash。

2024-04-10 16:08:03 601

原创 【LeetCode 2529. 正整数和负整数的最大计数】

给定非递减顺序数组,求出正整数数目和负整数数目只需要找到第一个正整数的位置并记录0的个数,当遇到第一个正整数直接记录退出遍历即可。如果没有正整数,返回。换句话讲,如果 nums 中正整数的数目是 pos ,而负整数的数目是 neg ,返回 pos 和 neg二者中的最大值。给你一个按 非递减顺序 排列的数组 nums ,返回正整数数目和负整数数目中的最大值。注意:0 既不是正整数也不是负整数。

2024-04-09 10:53:41 254

原创 【LeetCode 23. 合并 K 个升序链表】

合并k个有序链表,则需要找到k个链表中最小的节点,并将其插入新的链表中,然后将最小节点链表后移,继续比较k个链表中最小的节点,直到所有链表都为空。可以使用优先队列将k个节点放入优先队列中,每次取出最小的节点插入新的链表中,并将其后移。合并两个有序链表,直接比较两个链表找出较小的节点插入新的链表即可。请你将所有链表合并到一个升序链表中,返回合并后的链表。给你一个链表数组,每个链表都已经按升序排列。

2024-04-08 15:10:34 217

原创 【LeetCode 86. 分隔链表】

给你一个链表的头节点 head 和一个特定值 x ,请你对链表进行分隔,使得所有小于 x 的节点都出现在 大于或等于 x 的节点之前。你应当保留两个分区中每个节点的初始相对位置。创建两个dummy节点,分别指向小于和大于x的节点,然后遍历原链表,将节点依次插入到dummy1和dummy2中。之后将两个链表连接起来即可。

2024-04-08 11:30:55 204

原创 【LeetCode 1600. 王位继承顺序】

比方说,假设王国由国王,他的孩子 Alice 和 Bob (Alice 比 Bob 年长)和 Alice 的孩子 Jack 组成。birth函数表示将一个节点加入继承顺序中,death函数表示将一个节点标记为死亡状态。可以从国王节点开始前序遍历,遍历过程中将遍历到的节点(未被标记为死亡状态)放入一个数组中,最后返回这个数组即可。由题意可知,王位继承人的顺序从国王开始,然后是国王的子节点,然后是子节点的子节点,依次类推。,给定一个人 x 和当前的继承顺序,该函数返回 x 的下一继承人。

2024-04-07 17:58:41 511

原创 Leetcode 21. 合并两个有序链表

当两个链表有一个为空时,直接返回另一个链表。通过遍历比较两个链表,将较小的节点放入新链表中,最后返回新链表,直到有一个链表为空。遍历结束后,判断两个链表是否为空,将不为空的链表中的节点插入新的链表中。输入:l1 = [1,2,4], l2 = [1,3,4]输入:l1 = [], l2 = [0]输入:l1 = [], l2 = []输出:[1,1,2,3,4,4]

2024-03-29 18:58:00 126

原创 【Leetcode 141. 环形列表】

如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。为了表示给定链表中的环,评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。慢指针每次移动一步,快指针移动两步,如果链表没有环,则快慢指针的距离会越来越远,最后快指针先到底尾部。如果链表有环,则快慢指针会相遇,相遇的节点就是环的入口节点。给你一个链表的头节点 head ,判断链表中是否有环。解释:链表中有一个环,其尾部连接到第二个节点。解释:链表中有一个环,其尾部连接到第一个节点。

2024-03-29 18:05:01 318 1

原创 【LeetCode 242. 有效的字母异位词】

给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。注意:若 s 和 t 中每个字符出现的次数都相同,则称 s 和 t 互为字母异位词。

2022-07-21 09:21:01 1376 1

原创 【LeetCode 59. 螺旋矩阵 II】

给你一个正整数 n ,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的 n x n 正方形矩阵 matrix 。

2022-07-20 12:14:25 53

原创 【LeetCode 19. 删除链表的倒数第 N 个结】

给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。

2022-07-20 12:13:00 100

原创 【LeetCode 206. 反转链表】

给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。

2022-07-20 11:26:11 124

原创 【LeetCode 707. 设计链表】

设计链表

2022-07-20 11:18:03 62

原创 【LeetCode 203. 移除链表元素】

移除链表元素

2022-07-20 10:57:35 67

原创 【LeetCode 209. 长度最小的子数组】

长度最小的子数组

2022-07-19 14:45:35 95

原创 【LeetCode 977. 有序数组的平方】

有序数组的平方

2022-07-19 14:30:46 66

原创 【LeetCode 27. 移除元素】

移除元素

2022-07-19 13:57:23 48

原创 【LeetCode 54. 螺旋矩阵】

LeetCode 54. 螺旋矩阵题目描述解题思路遍历。参考 labuladong的算法小抄.class Solution { public List<Integer> spiralOrder(int[][] matrix) { List<Integer> res = new ArrayList<>(); int row = matrix.length, col = matrix[0].length; /

2022-04-04 20:36:18 366

原创 【LeetCode 51. N 皇后】

LeetCode 51. N 皇后题目描述解题思路回溯。class Solution { public List<List<String>> res = new ArrayList<>(); public List<List<String>> solveNQueens(int n) { //记录路径 char[][] track = new char[n][n]; //初始

2022-03-25 22:59:40 69

原创 【LeetCode 172. 阶乘后的零】

LeetCode 172. 阶乘后的零题目描述解题思路class Solution { public int trailingZeroes(int n) { //思路 //计算阶乘后为零的个数 因为2 * 5 = 10 //转换成求n!中2和5因子的个数,由于任意的偶数都可以分解出因子2,即求n!中因子5的个数。 // n/5可以得到n!中5的倍数的个数 // n/25可以得到n!中25的倍数

2022-03-25 09:35:00 1025

原创 【LeetCode 322. 零钱兑换】

LeetCode 322. 零钱兑换 - 力扣题目描述解题思路class Solution { public int coinChange(int[] coins, int amount) { //dp[i]:表示凑成金额i所需要最少的硬币个数 int[] dp = new int[amount + 1]; Arrays.fill(dp, amount + 1); dp[0] = 0; // 外层 for 循环在

2022-03-24 22:33:17 784

原创 【LeetCode 509. 斐波那契数】

LeetCode 509. 斐波那契数题目描述解题思路一、迭代class Solution { public int fib(int n) { if(n == 0 || n == 1) return n; //dp[i]: 第i个斐波拉契数 dp[i] = dp[i-1] + dp[i-2] int[] dp = new int[n + 1]; dp[1] = 1; for(int i = 2; i <

2022-03-24 22:23:31 476

原创 【剑指 Offer 62. 圆圈中最后剩下的数字】

剑指 Offer 62. 圆圈中最后剩下的数字题目描述## 解题思路约瑟夫环问题。暴力解法class Solution { public int lastRemaining(int n, int m) { List<Integer> list = new ArrayList(n); for(int i=0; i < n; i++) list.add(i); int idx = 0;

2022-03-24 17:54:19 1043

原创 【LeetCode 661. 图片平滑器】

LeetCode 661. 图片平滑器题目描述

2022-03-24 15:18:09 303

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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