Keshawn_lu's Blog

Keshawn_lu's Blog

Become a better myself.

Leetcode 1026. 节点与其祖先之间的最大差值
题目简介:给定二叉树的根节点 root,找出存在于 不同 节点 A 和 B 之间的最大值 V,其中 V = |A.val - B.val|,且 A 是 B 的祖先。 (如果 A 的任何子节点之一为 B,或者 A 的任何子节点是 B 的祖先,那么我们认为 A 是 B 的祖先) 示例 1: 123456789输入:root = [8,3,10,1,6,null,14,null,null,4,7,13]输出:7解释: 我们有大量的节点与其祖先的差值,其中一些如下:|8 - 3| = 5|3 - 7| = 4|8 - 1| = 7|10 - 13| = 3在所有可能的差值中,最大值 7 由 |...
Leetcode 1042. 不邻接植花
题目简介:有 n 个花园,按从 1 到 n 标记。另有数组 paths ,其中 paths[i] = [xi, yi] 描述了花园 xi 到花园 yi 的双向路径。在每个花园中,你打算种下四种花之一。 另外,所有花园 最多 有 3 条路径可以进入或离开. 你需要为每个花园选择一种花,使得通过路径相连的任何两个花园中的花的种类互不相同。 以数组形式返回 任一 可行的方案作为答案 answer,其中 answer[i] 为在第 (i+1) 个花园中种植的花的种类。花的种类用 1、2、3、4 表示。保证存在答案。 示例 1: 1234567输入:n = 3, paths = [[1,2],[...
Leetcode 1023. 驼峰式匹配
题目简介:如果我们可以将小写字母插入模式串 pattern 得到待查询项 query,那么待查询项与给定模式串匹配。(我们可以在任何位置插入每个字符,也可以插入 0 个字符。) 给定待查询列表 queries,和模式串 pattern,返回由布尔值组成的答案列表 answer。只有在待查项 queries[i] 与模式串 pattern 匹配时, answer[i] 才为 true,否则为 false。 示例 1: 1234567输入:queries = ["FooBar","FooBarTest","FootBall",&qu...
Leetcode 2404. 出现最频繁的偶数元素
题目简介:给你一个整数数组 nums ,返回出现最频繁的偶数元素。 如果存在多个满足条件的元素,只需要返回 最小 的一个。如果不存在这样的元素,返回 -1 。 示例 1: 12345输入:nums = [0,1,2,2,4,4,1]输出:2解释:数组中的偶数元素为 0、2 和 4 ,在这些元素中,2 和 4 出现次数最多。返回最小的那个,即返回 2 。 提示: 1 <= nums.length <= 2000 0 <= nums[i] <= 10^5 思路:利用哈希表存储出现次数,遍历即可,遇到奇数直接continue。 代码如下:12345678910111...
Leetcode 1147. 段式回文
题目简介:你会得到一个字符串 text 。你应该把它分成 k 个子字符串 (subtext1, subtext2,…, subtextk) ,要求满足: subtexti 是 非空 字符串 所有子字符串的连接等于 text ( 即subtext_1 + subtext_2 + ... + subtext_k == text ) 对于所有 i 的有效值( 即 1 <= i <= k ) ,subtext_i == subtext_{k - i + 1} 均成立 返回k可能最大值。 示例 1: 123输入:text = "ghiabcdefhelloadamhell...
Leetcode 1041. 困于环中的机器人
题目简介:在无限的平面上,机器人最初位于 (0, 0) 处,面朝北方。注意: 北方向 是y轴的正方向。 南方向 是y轴的负方向。 东方向 是x轴的正方向。 西方向 是x轴的负方向。 机器人可以接受下列三条指令之一: "G":直走 1 个单位 "L":左转 90 度 "R":右转 90 度 机器人按顺序执行指令 instructions,并一直重复它们。 只有在平面中存在环使得机器人永远无法离开时,返回 true。否则,返回 false。 示例 1: 1234567891011输入:instructions = "...
Leetcode 1019. 链表中的下一个更大节点
题目简介:给定一个长度为 n 的链表 head 对于列表中的每个节点,查找下一个 更大节点 的值。也就是说,对于每个节点,找到它旁边的第一个节点的值,这个节点的值 严格大于 它的值。 返回一个整数数组 answer ,其中 answer[i] 是第 i 个节点( 从1开始 )的下一个更大的节点的值。如果第 i 个节点没有下一个更大的节点,设置 answer[i] = 0 。 示例 1: 12输入:head = [2,1,5]输出:[5,5,0] 提示: 链表中节点数为 n 1 <= n <= 10^4 1 <= Node.val <= 10^9 思路:利用单...
Leetcode 1053. 交换一次的先前排列
题目简介:给你一个正整数数组 arr(可能存在重复的元素),请你返回可在 一次交换(交换两数字 arr[i] 和 arr[j] 的位置)后得到的、按字典序排列小于 arr 的最大排列。 如果无法这么操作,就请返回原数组。 示例 1: 123输入:arr = [3,2,1]输出:[3,1,2]解释:交换 2 和 1 示例 2: 123输入:arr = [1,1,5]输出:[1,1,5]解释:已经是最小排列 示例 3: 123输入:arr = [1,9,4,6,7]输出:[1,7,4,6,9]解释:交换 9 和 7 提示: 1 <= arr.length <= 10^4 1 &...
Leetcode 剑指 Offer 47. 礼物的最大价值
题目简介:在一个 m*n 的棋盘的每一格都放有一个礼物,每个礼物都有一定的价值(价值大于 0)。你可以从棋盘的左上角开始拿格子里的礼物,并每次向右或者向下移动一格、直到到达棋盘的右下角。给定一个棋盘及其上面的礼物的价值,请计算你最多能拿到多少价值的礼物? 示例 1: 12345678输入: [ [1,3,1], [1,5,1], [4,2,1]]输出: 12解释: 路径 1→3→5→2→1 可以拿到最多价值的礼物 提示: 0 < grid.length <= 200 0 < grid[0].length <= 200 思路:动态规划,dp[i][j] =...
Leetcode 1599. 经营摩天轮的最大利润
题目简介:你正在经营一座摩天轮,该摩天轮共有 4 个座舱 ,每个座舱 最多可以容纳 4 位游客 。你可以 逆时针 轮转座舱,但每次轮转都需要支付一定的运行成本 runningCost 。摩天轮每次轮转都恰好转动 1 / 4 周。 给你一个长度为 n 的数组 customers , customers[i] 是在第 i 次轮转(下标从 0 开始)之前到达的新游客的数量。这也意味着你必须在新游客到来前轮转 i 次。每位游客在登上离地面最近的座舱前都会支付登舱成本 boardingCost ,一旦该座舱再次抵达地面,他们就会离开座舱结束游玩。 你可以随时停下摩天轮,即便是 在服务所有游客之前 ...
avatar
鸣蜩十九
Always
友链
CSDN BiliBili