leetcode练习
文章平均质量分 58
不会写代码的嘤嘤
这个作者很懒,什么都没留下…
展开
-
Leetcode每日一题:589. N 叉树的前序遍历
前序遍历二叉树的要点就是根左右在这里遍历的是n叉树,因此先访问根节点,然后再遍历根节点的每个孩子就可以了递归解法"""# Definition for a Node.class Node: def __init__(self, val=None, children=None): self.val = val self.children = children"""class Solution: def preorder(self, root: .原创 2022-03-10 20:00:26 · 440 阅读 · 0 评论 -
Leetcode每日一题 1001. 网格照明
目录问题描述思路分析及代码实现问题描述原题链接:1001.网格照明思路分析及代码实现使用四个哈希表来分别表示行、列、正对角线、反对角线上的灯的数量假设某灯的坐标为(xi,yi),那么它所在的行的数值为xi,所在的列的数值为yi,正对角线的数值为xi-yi,反对角线的数值为xi+yi遍历lamps,将遍历到的灯所在的四条线各加一 (注意去重,需要将重复的灯看作一盏灯)遍历queries,判断当前查询点所在的四条线是否有灯,如果有,将该次查询值置1,然后进行关闭操作,查询当前点所在的八个相原创 2022-02-08 16:04:53 · 347 阅读 · 0 评论 -
Leetcode每日一题:1405. 最长快乐字符串
目录问题描述思路分析及代码实现贪心问题描述思路分析及代码实现贪心动态获取当前剩余字符中数量最多的和次多的字符先尽可能的使用数量最多的字符,如果不满足条件再使用次多的字符,因为只有三种字符,所以每次只会在数量最多和次多中选择,当所有字母使用完之后,仍无法满足条件就可以跳出while循环了。class Solution: def longestDiverseString(self, a: int, b: int, c: int) -> str: count = {原创 2022-02-07 11:16:29 · 463 阅读 · 0 评论 -
Leetcode每日一题 219. 存在重复元素 II
目录问题描述思路分析及代码实现哈希表解决问题描述思路分析及代码实现哈希表解决class Solution: def containsNearbyDuplicate(self, nums: List[int], k: int) -> bool: hash = {} for i, num in enumerate(nums): if num in hash and i-hash[num] <= k:原创 2022-01-19 11:36:28 · 184 阅读 · 0 评论 -
Leetcode每日一题 539. 最小时间差
目录问题描述思路分析及代码实现方法一 模拟排序方法二 鸽巢原理解释一下鸽巢原理问题描述思路分析及代码实现方法一 模拟排序根据题意,涉及到了一个零点的偏角问题,因此某一时间在第二天的夹角或许比当天的夹角小,所以可以在换算每一个时间时再额外把时间+1440并一起记录,这样就可以把所有的情况都考虑到,然后排序,遍历每一组相邻差找出最小值class Solution: def findMinDifference(self, timePoints: List[str]) -> int:原创 2022-01-18 10:14:33 · 171 阅读 · 0 评论 -
Leetcode每日一题 1220. 统计元音字母序列的数目
目录问题描述思路分析及代码实现问题描述思路分析及代码实现今天的题目是一个hard难度的,本来是想直接放弃的,但习惯性的看了一下内容,感觉还是比较容易想出来的。通过分析题目,不难看出这是一道动态规划的题。然后尝试找出他的状态转移方程试分析:字符串中的每个字符都应当是小写元音字母(‘a’, ‘e’, ‘i’, ‘o’, ‘u’)首先dp[i][j]的含义是长度为 i 的字符串,以 j 字符为结尾的个数,这里我们将字母转换成数字,可以表示为(0,1,2,3,4)每个元音 ‘a’ 后面都只能原创 2022-01-17 15:33:36 · 302 阅读 · 0 评论 -
Leetcode每日一题:373. 查找和最小的K对数字
目录问题描述思路分析及代码实现方法一 一行代码方法二 优先队列问题描述思路分析及代码实现方法一 一行代码调用itertools模块中的product一行代码实现class Solution: def kSmallestPairs(self, nums1: List[int], nums2: List[int], k: int) -> List[List[int]]: return sorted(itertools.product(nums1,nums2),key=sum原创 2022-01-14 10:29:03 · 138 阅读 · 1 评论 -
Leetcode 264. 丑数 II
给你一个整数 n ,请你找出并返回第 n 个 丑数 。丑数 就是只包含质因数 2、3 和/或 5 的正整数。示例 1:输入:n = 10输出:12解释:[1, 2, 3, 4, 5, 6, 8, 9, 10, 12] 是由前 10 个丑数组成的序列。示例 2:输入:n = 1输出:1解释:1 通常被视为丑数。提示:1 <= n <= 1690思路分析:这道题可以用dp来做,首先创建一个初始的数组,数组起始元素均为1,然后定义三个元素用来2、3、5的计数,遍历dp中的.原创 2021-07-14 11:25:14 · 144 阅读 · 0 评论 -
Leetcode每日一题:59. 螺旋矩阵 II
目录问题描述思路分析及代码实现问题描述给你一个正整数 n ,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的 n x n 正方形矩阵 matrix 。示例 1: 输入:n = 3输出:[[1,2,3],[8,9,4],[7,6,5]]示例 2:输入:n = 1输出:[[1]]提示:1 <= n <= 20来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/spiral-matrix-ii著作原创 2021-03-16 15:59:06 · 147 阅读 · 0 评论 -
Leetcode每日一题:54. 螺旋矩阵
目录问题描述思路分析及代码实现问题描述给你一个 m 行 n 列的矩阵 matrix ,请按照 顺时针螺旋顺序 ,返回矩阵中的所有元素。示例 1:输入:matrix = [[1,2,3],[4,5,6],[7,8,9]]输出:[1,2,3,6,9,8,7,4,5]示例 2:输入:matrix = [[1,2,3,4],[5,6,7,8],[9,10,11,12]]输出:[1,2,3,4,8,12,11,10,9,5,6,7]提示:m == matrix.lengthn == matr原创 2021-03-15 16:37:37 · 128 阅读 · 0 评论 -
Leetcode每日一题:1047. 删除字符串中的所有相邻重复项
目录问题描述思路分析及代码实现问题描述给出由小写字母组成的字符串 S,重复项删除操作会选择两个相邻且相同的字母,并删除它们。在 S 上反复执行重复项删除操作,直到无法继续删除。在完成所有重复项删除操作后返回最终的字符串。答案保证唯一。示例:输入:“abbaca”输出:“ca”解释:例如,在 “abbaca” 中,我们可以删除 “bb” 由于两字母相邻且相同,这是此时唯一可以执行删除操作的重复项。之后我们得到字符串 “aaca”,其中又只有 “aa” 可以执行重复项删除操作,所以最后的字符串原创 2021-03-09 20:06:41 · 150 阅读 · 0 评论 -
Leetcode每日一题:503. 下一个更大元素 II
目录问题描述思路分析及代码实现单调栈与循环数组问题描述给定一个循环数组(最后一个元素的下一个元素是数组的第一个元素),输出每个元素的下一个更大元素。数字 x 的下一个更大的元素是按数组遍历顺序,这个数字之后的第一个比它更大的数,这意味着你应该循环地搜索它的下一个更大的数。如果不存在,则输出 -1。示例 1:输入: [1,2,1]输出: [2,-1,2]解释: 第一个 1 的下一个更大的数是 2; 数字 2 找不到下一个更大的数; 第二个1 的下一个最大的数需要循环搜索,结果也是 2。注意:原创 2021-03-06 16:03:36 · 102 阅读 · 0 评论 -
Leetcode练习:100. 相同的树
目录问题描述思路分析及代码实现问题描述给你两棵二叉树的根节点 p 和 q ,编写一个函数来检验这两棵树是否相同。如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。示例 1: 输入:p = [1,2,3], q = [1,2,3]输出:true示例 2: 输入:p = [1,2], q = [1,null,2]输出:false示例 3: 输入:p = [1,2,1], q = [1,1,2] 输出:false提示:两棵树上的节点数目都在范围 [0, 100原创 2021-03-05 16:25:10 · 84 阅读 · 0 评论 -
Leetcode练习:144. 二叉树的前序遍历(含遍历方式)
目录问题描述思路分析及代码实现问题描述给你二叉树的根节点 root ,返回它节点值的 前序 遍历。示例 1:输入:root = [1,null,2,3]输出:[1,2,3]示例 2:输入:root = [] 输出:[]示例 3:输入:root = [1] 输出:[1]示例 4: 输入:root = [1,2]输出:[1,2]示例 5: 输入:root = [1,null,2] 输出:[1,2]提示:树中节点数目在范围 [0, 100] 内-100 <原创 2021-03-04 19:36:27 · 183 阅读 · 1 评论 -
Leetcode每日一题:304. 二维区域和检索 - 矩阵不可变
目录问题描述思路分析及代码实现问题描述给定一个二维矩阵,计算其子矩形范围内元素的总和,该子矩阵的左上角为 (row1, col1) ,右下角为 (row2, col2) 。上图子矩阵左上角 (row1, col1) = (2, 1) ,右下角(row2, col2) = (4, 3),该子矩形内元素的总和为 8。示例:给定 matrix = [[3, 0, 1, 4, 2],[5, 6, 3, 2, 1],[1, 2, 0, 1, 5],[4, 1, 0, 1, 7],[1, 0, 3原创 2021-03-02 20:13:25 · 122 阅读 · 0 评论 -
Leetcode每日一题:303. 区域和检索 - 数组不可变
目录问题描述思路分析及代码实现问题描述给定一个整数数组 nums,求出数组从索引 i 到 j(i ≤ j)范围内元素的总和,包含 i、j 两点。实现 NumArray 类:NumArray(int[] nums) 使用数组 nums 初始化对象int sumRange(int i, int j) 返回数组 nums 从索引 i 到 j(i ≤ j)范围内元素的总和,包含 i、j 两点(也就是 sum(nums[i], nums[i + 1], … , nums[j]))示例:输入:[“Nu原创 2021-03-01 11:12:23 · 144 阅读 · 3 评论 -
Leetcode每日一题:896. 单调数列
目录问题描述思路分析及代码实现问题描述如果数组是单调递增或单调递减的,那么它是单调的。如果对于所有 i <= j,A[i] <= A[j],那么数组 A 是单调递增的。 如果对于所有 i <= j,A[i]> = A[j],那么数组 A 是单调递减的。当给定的数组 A 是单调数组时返回 true,否则返回 false。示例 1:输入:[1,2,2,3]输出:true示例 2:输入:[6,5,4,4]输出:true示例 3:输入:[1,3,2]输出:原创 2021-02-28 10:23:36 · 123 阅读 · 1 评论 -
Leetcode每日一题:395. 至少有K个重复字符的最长子串
目录问题描述思路分析及代码实现分治 递归问题描述找到给定字符串(由小写字符组成)中的最长子串 T , 要求 T 中的每一字符出现次数都不少于 k 。输出 T 的长度。示例 1:输入: s = “aaabb”, k = 3输出: 3最长子串为 “aaa” ,其中 ‘a’ 重复了 3 次。示例 2:输入: s = “ababbc”, k = 2输出: 5最长子串为 “ababb” ,其中 ‘a’ 重复了 2 次, ‘b’ 重复了 3 次。思路分析及代码实现分治 递归将出现次数不原创 2021-02-27 10:57:13 · 204 阅读 · 1 评论 -
Leetcode每日一题:867. 转置矩阵
目录问题描述思路分析及代码实现问题描述给你一个二维整数数组 matrix, 返回 matrix 的 转置矩阵 。矩阵的 转置 是指将矩阵的主对角线翻转,交换矩阵的行索引与列索引。示例 1:输入:matrix = [[1,2,3],[4,5,6],[7,8,9]]输出:[[1,4,7],[2,5,8],[3,6,9]]示例 2:输入:matrix = [[1,2,3],[4,5,6]]输出:[[1,4],[2,5],[3,6]]提示:m == matrix.lengthn原创 2021-02-25 16:13:14 · 201 阅读 · 0 评论 -
Leetcode每日一题:1052. 爱生气的书店老板
目录问题描述思路分析及代码实现问题描述今天,书店老板有一家店打算试营业 customers.length 分钟。每分钟都有一些顾客(customers[i])会进入书店,所有这些顾客都会在那一分钟结束后离开。在某些时候,书店老板会生气。 如果书店老板在第 i 分钟生气,那么 grumpy[i] = 1,否则 grumpy[i] = 0。 当书店老板生气时,那一分钟的顾客就会不满意,不生气则他们是满意的。书店老板知道一个秘密技巧,能抑制自己的情绪,可以让自己连续 X 分钟不生气,但却只能使用一次。请原创 2021-02-24 11:04:50 · 120 阅读 · 1 评论 -
Leetcode每日一题:832. 翻转图像
目录问题描述思路分析及代码实现问题描述给定一个二进制矩阵 A,我们想先水平翻转图像,然后反转图像并返回结果。水平翻转图片就是将图片的每一行都进行翻转,即逆序。例如,水平翻转 [1, 1, 0] 的结果是 [0, 1, 1]。反转图片的意思是图片中的 0 全部被 1 替换, 1 全部被 0 替换。例如,反转 [0, 1, 1] 的结果是 [1, 0, 0]。示例 1:输入: [[1,1,0],[1,0,1],[0,0,0]]输出: [[1,0,0],[0,1,0],[1,1,1]]解释: 首先原创 2021-02-24 09:31:53 · 88 阅读 · 0 评论 -
Leetcode每日一题:697. 数组的度
目录问题描述思路分析及代码实现问题描述给定一个非空且只包含非负数的整数数组 nums,数组的度的定义是指数组里任一元素出现频数的最大值。你的任务是在 nums 中找到与 nums 拥有相同大小的度的最短连续子数组,返回其长度。示例 1:输入:[1, 2, 2, 3, 1]输出:2解释: 输入数组的度是2,因为元素1和2的出现频数最大,均为2.连续子数组里面拥有相同度的有如下所示: [1, 2, 2, 3, 1], [1, 2, 2, 3], [2, 2, 3, 1], [1, 2, 2],原创 2021-02-20 18:10:33 · 198 阅读 · 0 评论 -
Leetcode每日一题:1004. 最大连续1的个数 III
目录问题描述思路分析及代码实现问题描述给定一个由若干 0 和 1 组成的数组 A,我们最多可以将 K 个值从 0 变成 1 。返回仅包含 1 的最长(连续)子数组的长度。示例 1:输入:A = [1,1,1,0,0,0,1,1,1,1,0], K = 2输出:6解释:[1,1,1,0,0,1,1,1,1,1,1] 粗体数字从 0 翻转到 1,最长的子数组长度为 6。示例 2:输入:A = [0,0,1,1,0,0,1,1,1,0,1,1,0,0,0,1,1,1,1], K = 3原创 2021-02-19 15:08:13 · 203 阅读 · 0 评论 -
Leetcode每日一题:566. 重塑矩阵
目录问题描述思路分析及代码实现问题描述在MATLAB中,有一个非常有用的函数 reshape,它可以将一个矩阵重塑为另一个大小不同的新矩阵,但保留其原始数据。给出一个由二维数组表示的矩阵,以及两个正整数r和c,分别表示想要的重构的矩阵的行数和列数。重构后的矩阵需要将原始矩阵的所有元素以相同的行遍历顺序填充。如果具有给定参数的reshape操作是可行且合理的,则输出新的重塑矩阵;否则,输出原始矩阵。示例 1:输入: nums = [[1,2], [3,4]] r = 1, c = 4输原创 2021-02-17 09:11:15 · 436 阅读 · 0 评论 -
Leetcode每日一题:561. 数组拆分 I
目录问题描述思路分析及代码实现问题描述给定长度为 2n 的整数数组 nums ,你的任务是将这些数分成 n 对, 例如 (a1, b1), (a2, b2), …, (an, bn) ,使得从 1 到 n 的 min(ai, bi) 总和最大。返回该 最大总和 。示例 1:输入:nums = [1,4,3,2]输出:4解释:所有可能的分法(忽略元素顺序)为:(1, 4), (2, 3) -> min(1, 4) + min(2, 3) = 1 + 2 = 3(1, 3), (2,原创 2021-02-16 10:17:57 · 905 阅读 · 7 评论 -
Leetcode每日一题:567. 字符串的排列
目录问题描述思路分析及代码实现问题描述给定两个字符串 s1 和 s2,写一个函数来判断 s2 是否包含 s1 的排列。换句话说,第一个字符串的排列之一是第二个字符串的子串。示例 1:输入: s1 = “ab” s2 = “eidbaooo”输出: True解释: s2 包含 s1 的排列之一 (“ba”).示例2:输入: s1= “ab” s2 = “eidboaoo”输出: False来源:力扣(LeetCode)链接:https://leetcode-cn.com/probl原创 2021-02-16 09:50:48 · 413 阅读 · 2 评论 -
Leetcode每日一题:485. 最大连续 1 的个数
目录问题描述思路分析及代码实现问题描述给定一个二进制数组, 计算其中最大连续 1 的个数。示例:输入:[1,1,0,1,1,1]输出:3解释:开头的两位和最后的三位都是连续 1 ,所以最大连续 1 的个数是 3.提示:输入的数组只包含 0 和 1 。 输入数组的长度是正整数,且不超过 10,000。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/max-consecutive-ones著作权归领扣网络所有。商业转载请联系官方授权,原创 2021-02-16 09:43:11 · 316 阅读 · 6 评论 -
Leetcode每日一题:992. K 个不同整数的子数组
目录问题描述思路分析及代码实现问题描述给定一个正整数数组 A,如果 A 的某个子数组中不同整数的个数恰好为 K,则称 A 的这个连续、不一定独立的子数组为好子数组。(例如,[1,2,3,1,2] 中有 3 个不同的整数:1,2,以及 3。)返回 A 中好子数组的数目。示例 1:输入:A = [1,2,1,2,3], K = 2输出:7解释:恰好由 2 个不同整数组成的子数组:[1,2], [2,1], [1,2], [2,3], [1,2,1], [2,1,2], [1,2,1,2].原创 2021-02-09 11:35:13 · 414 阅读 · 0 评论 -
Leetcode每日一题:978. 最长湍流子数组
目录问题描述思路分析及代码实现问题描述当 A 的子数组 A[i], A[i+1], …, A[j] 满足下列条件时,我们称其为湍流子数组:若 i <= k < j,当 k 为奇数时, A[k] > A[k+1],且当 k 为偶数时,A[k] < A[k+1];或 若 i <= k < j,当 k 为偶数时,A[k] > A[k+1] ,且当 k 为奇数时, A[k] < A[k+1]。也就是说,如果比较符号在子数组中的每个相邻元素对之间翻转,则该子数原创 2021-02-08 15:30:36 · 178 阅读 · 0 评论 -
Leetcode每日一题:665. 非递减数列
目录问题描述思路分析及代码实现问题描述给你一个长度为 n 的整数数组,请你判断在 最多 改变 1 个元素的情况下,该数组能否变成一个非递减数列。我们是这样定义一个非递减数列的: 对于数组中所有的 i (0 <= i <= n-2),总满足 nums[i] <= nums[i + 1]。示例 1:输入: nums = [4,2,3]输出: true解释: 你可以通过把第一个4变成1来使得它成为一个非递减数列。示例 2:输入: nums = [4,2,1]输出: fals原创 2021-02-07 10:22:55 · 271 阅读 · 4 评论 -
Leetcode每日一题:1423. 可获得的最大点数
目录问题描述思路分析及代码实现问题描述几张卡牌 排成一行,每张卡牌都有一个对应的点数。点数由整数数组 cardPoints 给出。每次行动,你可以从行的开头或者末尾拿一张卡牌,最终你必须正好拿 k 张卡牌。你的点数就是你拿到手中的所有卡牌的点数之和。给你一个整数数组 cardPoints 和整数 k,请你返回可以获得的最大点数。示例 1:输入:cardPoints = [1,2,3,4,5,6,1], k = 3输出:12解释:第一次行动,不管拿哪张牌,你的点数总是 1 。但是,先拿最右原创 2021-02-06 12:54:54 · 664 阅读 · 2 评论 -
Leetcode每日一题:1208. 尽可能使字符串相等
目录问题描述思路分析及代码实现问题描述给你两个长度相同的字符串,s 和 t。将 s 中的第 i 个字符变到 t 中的第 i 个字符需要 |s[i] - t[i]| 的开销(开销可能为 0),也就是两个字符的 ASCII 码值的差的绝对值。用于变更字符串的最大预算是 maxCost。在转化字符串时,总开销应当小于等于该预算,这也意味着字符串的转化可能是不完全的。如果你可以将 s 的子字符串转化为它在 t 中对应的子字符串,则返回可以转化的最大长度。如果 s 中没有子字符串可以转化成 t 中对应的子原创 2021-02-05 15:24:26 · 170 阅读 · 1 评论 -
Leetcode每日一题:643. 子数组最大平均数 I
目录问题描述思路分析及代码实现问题描述给定 n 个整数,找出平均数最大且长度为 k 的连续子数组,并输出该最大平均数。示例:输入:[1,12,-5,-6,50,3], k = 4输出:12.75解释:最大平均数 (12-5-6+50)/4 = 51/4 = 12.75提示:1 <= k <= n <= 30,000。所给数据范围 [-10,000,10,000]。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problem原创 2021-02-04 10:31:16 · 170 阅读 · 2 评论 -
Leetcode每日一题:480. 滑动窗口中位数
目录问题描述思路分析及代码实现问题描述中位数是有序序列最中间的那个数。如果序列的大小是偶数,则没有最中间的数;此时中位数是最中间的两个数的平均数。例如:[2,3,4],中位数是 3[2,3],中位数是 (2 + 3) / 2 = 2.5给你一个数组 nums,有一个大小为 k 的窗口从最左端滑动到最右端。窗口中有 k 个数,每次窗口向右移动 1 位。你的任务是找出每次窗口移动后得到的新窗口中元素的中位数,并输出由它们组成的数组。示例:给出 nums = [1,3,-1,-3,5,3,6,7]原创 2021-02-03 11:13:02 · 250 阅读 · 0 评论 -
Leetcode每日一题:424. 替换后的最长重复字符(双指针模板)
目录问题描述思路分析及代码实现问题描述给你一个仅由大写英文字母组成的字符串,你可以将任意位置上的字符替换成另外的字符,总共可最多替换 k 次。在执行上述操作后,找到包含重复字母的最长子串的长度。注意:字符串长度 和 k 不会超过 104。示例 1:输入:s = “ABAB”, k = 2输出:4解释:用两个’A’替换为两个’B’,反之亦然。 示例 2:输入:s = “AABABBA”, k = 1输出:4解释: 将中间的一个’A’替换为’B’,字符串变为 “AABBBBA”。 子串“原创 2021-02-02 16:47:18 · 243 阅读 · 2 评论 -
Leetcode每日一题:888. 公平的糖果棒交换
目录问题描述思路分析及代码实现问题描述爱丽丝和鲍勃有不同大小的糖果棒:A[i] 是爱丽丝拥有的第 i 根糖果棒的大小,B[j] 是鲍勃拥有的第 j 根糖果棒的大小。因为他们是朋友,所以他们想交换一根糖果棒,这样交换后,他们都有相同的糖果总量。(一个人拥有的糖果总量是他们拥有的糖果棒大小的总和。)返回一个整数数组 ans,其中 ans[0] 是爱丽丝必须交换的糖果棒的大小,ans[1] 是 Bob 必须交换的糖果棒的大小。如果有多个答案,你可以返回其中任何一个。保证答案存在。示例 1:输入:A原创 2021-02-01 11:42:15 · 121 阅读 · 0 评论 -
Leetcode每日一题:839. 相似字符串组
这周做了好几道并查集的题,对于并查集也有了一定的掌握,今天在做每日一题的时候也能大体有一个解题的思路目录问题描述思路分析及代码实现问题描述如果交换字符串 X 中的两个不同位置的字母,使得它和字符串 Y 相等,那么称 X 和 Y 两个字符串相似。如果这两个字符串本身是相等的,那它们也是相似的。例如,“tars” 和 “rats” 是相似的 (交换 0 与 2 的位置); “rats” 和 “arts” 也是相似的,但是 “star” 不与 “tars”,“rats”,或 “arts” 相似。总之.原创 2021-01-31 15:08:09 · 102 阅读 · 1 评论 -
Leetcode每日一题:1631. 最小体力消耗路径
目录问题描述思路分析及代码实现问题描述你准备参加一场远足活动。给你一个二维 rows x columns 的地图 heights ,其中 heights[row][col] 表示格子 (row, col) 的高度。一开始你在最左上角的格子 (0, 0) ,且你希望去最右下角的格子 (rows-1, columns-1) (注意下标从 0 开始编号)。你每次可以往 上,下,左,右 四个方向之一移动,你想要找到耗费 体力 最小的一条路径。一条路径耗费的 体力值 是路径上相邻格子之间 高度差绝对值 的 最大原创 2021-01-30 11:01:17 · 560 阅读 · 0 评论 -
Leetcode每日一题:724. 寻找数组的中心索引
目录问题描述思路分析及代码实现问题描述给定一个整数类型的数组 nums,请编写一个能够返回数组 “中心索引” 的方法。我们是这样定义数组 中心索引 的:数组中心索引的左侧所有元素相加的和等于右侧所有元素相加的和。如果数组不存在中心索引,那么我们应该返回 -1。如果数组有多个中心索引,那么我们应该返回最靠近左边的那一个。示例 1:输入: nums = [1, 7, 3, 6, 5, 6]输出:3解释: 索引 3 (nums[3] = 6) 的左侧数之和(1 + 7 + 3 = 11),与右侧原创 2021-01-28 10:12:55 · 218 阅读 · 3 评论 -
Leetcode每日一题:1579. 保证图可完全遍历
目录问题描述思路分析及代码实现问题描述Alice 和 Bob 共有一个无向图,其中包含 n 个节点和 3 种类型的边:类型 1:只能由 Alice 遍历。类型 2:只能由 Bob 遍历。类型 3:Alice 和 Bob 都可以遍历。给你一个数组 edges ,其中 edges[i] = [typei, ui, vi] 表示节点 ui 和 vi 之间存在类型为 typei 的双向边。请你在保证图仍能够被 Alice和 Bob 完全遍历的前提下,找出可以删除的最大边数。如果从任何节点开始,Alic原创 2021-01-27 11:22:11 · 181 阅读 · 0 评论