随笔分类 -  力扣算法Java篇

143. 重排链表
摘要:143. 重排链表 给定一个单链表 L的头节点 head ,单链表 L 表示为: 请将其重新排列后变为: 不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。 示例 1: 输入:head = [1,2,3,4] 输出:[1,4,2,3] 示例 2: 输入:head = [1,2,3,4,5] 阅读全文

posted @ 2023-07-31 16:31 HHHuskie 阅读(28) 评论(0) 推荐(0)

416. 分割等和子集
摘要:416. 分割等和子集 给你一个 只包含正整数 的 非空 数组 nums 。请你判断是否可以将这个数组分割成两个子集,使得两个子集的元素和相等。 示例 1: 输入:nums = [1,5,11,5] 输出:true 解释:数组可以分割成 [1, 5, 5] 和 [11] 。 示例 2: 输入:num 阅读全文

posted @ 2023-07-27 23:09 HHHuskie 阅读(46) 评论(0) 推荐(0)

743. 网络延迟时间
摘要:743. 网络延迟时间 有 n 个网络节点,标记为 1 到 n。 给你一个列表 times,表示信号经过 有向 边的传递时间。 times[i] = (ui, vi, wi),其中 ui 是源节点,vi 是目标节点, wi 是一个信号从源节点传递到目标节点的时间。 现在,从某个节点 K 发出一个信号 阅读全文

posted @ 2023-07-27 17:46 HHHuskie 阅读(47) 评论(0) 推荐(0)

2558. 从数量最多的堆取走礼物
摘要:2558. 从数量最多的堆取走礼物 给你一个整数数组 gifts ,表示各堆礼物的数量。每一秒,你需要执行以下操作: 选择礼物数量最多的那一堆。 如果不止一堆都符合礼物数量最多,从中选择任一堆即可。 选中的那一堆留下平方根数量的礼物(向下取整),取走其他的礼物。 返回在 k 秒后剩下的礼物数量。 示 阅读全文

posted @ 2023-07-26 16:20 HHHuskie 阅读(37) 评论(0) 推荐(0)

1673. 找出最具竞争力的子序列
摘要:1673. 找出最具竞争力的子序列 给你一个整数数组 nums 和一个正整数 k ,返回长度为 k 且最具 竞争力 的nums 子序列。 数组的子序列是从数组中删除一些元素(可能不删除元素)得到的序列。 在子序列 a 和子序列 b 第一个不相同的位置上,如果 a 中的数字小于 b 中对应的数字,那么 阅读全文

posted @ 2023-07-20 20:16 HHHuskie 阅读(69) 评论(0) 推荐(0)

2780. 合法分割的最小下标
摘要:2780. 合法分割的最小下标 如果元素 x 在长度为 m 的整数数组 arr 中满足 freq(x) * 2 > m ,那么我们称 x 是 支配元素 。其中 freq(x) 是 x 在数组 arr 中出现的次数。注意,根据这个定义,数组 arr 最多 只会有 一个 支配元素。 给你一个下标从 0  阅读全文

posted @ 2023-07-20 15:38 HHHuskie 阅读(24) 评论(0) 推荐(0)

2441. 与对应负数同时存在的最大正整数
摘要:2441. 与对应负数同时存在的最大正整数 给你一个 不包含 任何零的整数数组 nums ,找出自身与对应的负数都在数组中存在的最大正整数 k 。 返回正整数k ,如果不存在这样的整数,返回 -1 。 示例 1: 输入:nums = [-1,2,-3,3] 输出:3 解释:3 是数组中唯一一个满足题 阅读全文

posted @ 2023-05-13 17:30 HHHuskie 阅读(42) 评论(0) 推荐(0)

1887. 使数组元素相等的减少操作次数
摘要:1887. 使数组元素相等的减少操作次数 给你一个整数数组 nums ,你的目标是令 nums 中的所有元素相等。完成一次减少操作需要遵照下面的几个步骤: 找出 nums 中的 最大 值。记这个值为 largest 并取其下标 i (下标从 0 开始计数)。如果有多个元素都是最大值,则取最小的 i 阅读全文

posted @ 2023-05-12 15:48 HHHuskie 阅读(31) 评论(0) 推荐(0)

1033. 移动石子直到连续
摘要:1033. 移动石子直到连续 三枚石子放置在数轴上,位置分别为 a,b,c。 每一回合,你可以从两端之一拿起一枚石子(位置最大或最小),并将其放入两端之间的任一空闲位置。形式上,假设这三枚石子当前分别位于位置 x, y, z 且 x < y < z。那么就可以从位置 x 或者是位置 z 拿起一枚石子 阅读全文

posted @ 2023-04-30 14:58 HHHuskie 阅读(31) 评论(0) 推荐(0)

剑指 Offer 55 - II. 平衡二叉树
摘要:剑指 Offer 55 - II. 平衡二叉树 输入一棵二叉树的根节点,判断该树是不是平衡二叉树。如果某二叉树中任意节点的左右子树的深度相差不超过1,那么它就是一棵平衡二叉树。 示例 1: 给定二叉树 [3,9,20,null,null,15,7] 3 / \ 9 20 / \ 15 7 返回 tr 阅读全文

posted @ 2023-04-25 12:08 HHHuskie 阅读(18) 评论(0) 推荐(0)

动态规划05——1043. 分隔数组以得到最大和
摘要:1043. 分隔数组以得到最大和 给你一个整数数组 arr,请你将该数组分隔为长度 最多 为 k 的一些(连续)子数组。分隔完成后,每个子数组的中的所有值都会变为该子数组中的最大值。 返回将数组分隔变换后能够得到的元素最大和。本题所用到的测试用例会确保答案是一个 32 位整数。 示例 1: 输入:a 阅读全文

posted @ 2023-04-19 22:27 HHHuskie 阅读(46) 评论(0) 推荐(0)

动态规划04——300. 最长递增子序列
摘要:300. 最长递增子序列 给你一个整数数组 nums ,找到其中最长严格递增子序列的长度。 子序列 是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。例如,[3,6,2,7] 是数组 [0,3,1,6,2,2,7] 的子序列。 示例 1: 输入:nums = [10,9,2 阅读全文

posted @ 2023-04-13 23:05 HHHuskie 阅读(21) 评论(0) 推荐(0)

动态规划03——322. 零钱兑换
摘要:322. 零钱兑换 给你一个整数数组 coins ,表示不同面额的硬币;以及一个整数 amount ,表示总金额。 计算并返回可以凑成总金额所需的 最少的硬币个数 。如果没有任何一种硬币组合能组成总金额,返回 -1 。 你可以认为每种硬币的数量是无限的。 示例 1: 输入:coins = [1, 2 阅读全文

posted @ 2023-04-13 11:20 HHHuskie 阅读(21) 评论(0) 推荐(0)

动态规划02——45. 跳跃游戏 II
摘要:45. 跳跃游戏 II 给定一个长度为 n 的 0 索引整数数组 nums。初始位置为 nums[0]。 每个元素 nums[i] 表示从索引 i 向前跳转的最大长度。换句话说,如果你在 nums[i] 处,你可以跳转到任意 nums[i + j] 处: 0 <= j <= nums[i] i + 阅读全文

posted @ 2023-04-13 11:19 HHHuskie 阅读(105) 评论(0) 推荐(0)

动态规划01——55. 跳跃游戏
摘要:55. 跳跃游戏 给定一个非负整数数组 nums ,你最初位于数组的 第一个下标 。 数组中的每个元素代表你在该位置可以跳跃的最大长度。 判断你是否能够到达最后一个下标。 示例 1: 输入:nums = [2,3,1,1,4] 输出:true 解释:可以先跳 1 步,从下标 0 到达下标 1, 然后 阅读全文

posted @ 2023-04-13 00:48 HHHuskie 阅读(42) 评论(0) 推荐(0)

1041. 困于环中的机器人
摘要:1041. 困于环中的机器人 在无限的平面上,机器人最初位于 (0, 0) 处,面朝北方。注意: 北方向 是y轴的正方向。 南方向 是y轴的负方向。 东方向 是x轴的正方向。 西方向 是x轴的负方向。 机器人可以接受下列三条指令之一: "G":直走 1 个单位 "L":左转 90 度 "R":右转 阅读全文

posted @ 2023-04-11 10:18 HHHuskie 阅读(38) 评论(0) 推荐(0)

1019. 链表中的下一个更大节点
摘要:1019. 链表中的下一个更大节点 给定一个长度为 n 的链表 head 对于列表中的每个节点,查找下一个 更大节点 的值。也就是说,对于每个节点,找到它旁边的第一个节点的值,这个节点的值 严格大于 它的值。 返回一个整数数组 answer ,其中 answer[i] 是第 i 个节点( 从1开始 阅读全文

posted @ 2023-04-10 23:18 HHHuskie 阅读(33) 评论(0) 推荐(0)

25. K 个一组翻转链表
摘要:25. K 个一组翻转链表 给你链表的头节点 head ,每 k 个节点一组进行翻转,请你返回修改后的链表。 k 是一个正整数,它的值小于或等于链表的长度。如果节点总数不是 k 的整数倍,那么请将最后剩余的节点保持原有顺序。 你不能只是单纯的改变节点内部的值,而是需要实际进行节点交换。 示例 1: 阅读全文

posted @ 2023-04-04 17:44 HHHuskie 阅读(24) 评论(0) 推荐(0)

160. 相交链表
摘要:160. 相交链表 给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点,返回 null 。 图示两个链表在节点 c1 开始相交: 题目数据 保证 整个链式结构中不存在环。 注意,函数返回结果后,链表必须 保持其原始结构 。 自定义 阅读全文

posted @ 2023-04-02 13:56 HHHuskie 阅读(27) 评论(0) 推荐(0)

876. 链表的中间结点
摘要:876. 链表的中间结点 给你单链表的头结点 head ,请你找出并返回链表的中间结点。 如果有两个中间结点,则返回第二个中间结点。 示例 1: 输入:head = [1,2,3,4,5] 输出:[3,4,5] 解释:链表只有一个中间结点,值为 3 。 示例 2: 输入:head = [1,2,3, 阅读全文

posted @ 2023-04-02 11:27 HHHuskie 阅读(28) 评论(0) 推荐(0)

导航