leetcode
文章平均质量分 65
Stig.Huang
这个作者很懒,什么都没留下…
展开
-
力扣 leetcode 130. 被围绕的区域(python)
Topic给你一个 m x n 的矩阵 board ,由若干字符 ‘X’ 和 ‘O’ ,找到所有被 ‘X’ 围绕的区域,并将这些区域里所有的 ‘O’ 用 ‘X’ 填充。Example_1输入:board = [[“X”,“X”,“X”,“X”],[“X”,“O”,“O”,“X”],[“X”,“X”,“O”,“X”],[“X”,“O”,“X”,“X”]]输出:[[“X”,“X”,“X”,“X”],[“X”,“X”,“X”,“X”],[“X”,“X”,“X”,“X”],[“X”,“O”,“X”,原创 2021-07-25 08:54:39 · 418 阅读 · 1 评论 -
力扣 leetcode 1935. 可以输入的最大单词数(python)
Topic键盘出现了一些故障,有些字母键无法正常工作。而键盘上所有其他键都能够正常工作。给你一个由若干单词组成的字符串 text ,单词间由单个空格组成(不含前导和尾随空格);另有一个字符串 brokenLetters ,由所有已损坏的不同字母键组成,返回你可以使用此键盘完全输入的 text 中单词的数目。Example_1输入:text = “hello world”, brokenLetters = “ad”输出:1解释:无法输入 “world” ,因为字母键 ‘d’ 已损坏。Ex原创 2021-07-25 05:27:18 · 462 阅读 · 1 评论 -
力扣 leetcode 456. 132 模式(python)
Topic给你一个整数数组 nums ,数组中共有 n 个整数。132 模式的子序列 由三个整数 nums[i]、nums[j] 和 nums[k] 组成,并同时满足:i < j < k 和 nums[i] < nums[k] < nums[j] 。如果 nums 中存在 132 模式的子序列 ,返回 true ;否则,返回 false 。Example_1输入:nums = [1,2,3,4]输出:false解释:序列中不存在 132 模式的子序列。Examp原创 2021-07-25 04:51:52 · 330 阅读 · 1 评论 -
力扣 leetcode 6. Z 字形变换(python)
Topic将一个给定字符串 s 根据给定的行数 numRows ,以从上往下、从左到右进行 Z 字形排列。比如输入字符串为 “PAYPALISHIRING” 行数为 3 时,排列如下:P A H NA P L S I I GY I R之后,你的输出需要从左往右逐行读取,产生出一个新的字符串,比如:“PAHNAPLSIIGYIR”。请你实现这个将字符串进行指定行数变换的函数:string convert(string s, int numRows);Example_1原创 2021-07-25 02:53:58 · 311 阅读 · 0 评论 -
力扣 leetcode 3. 无重复字符的最长子串(python)
Topic给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。Example_1输入: s = “abcabcbb”输出: 3解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。Example_2输入: s = “bbbbb”输出: 1解释: 因为无重复字符的最长子串是 “b”,所以其长度为 1。Example_3输入: s = “pwwkew”输出: 3解释: 因为无重复字符的最长子串是 “wke”,所以其长度为 3。请注意,你的答案必原创 2021-07-18 08:54:39 · 286 阅读 · 0 评论 -
力扣 leetcode 856. 括号的分数(python)
Topic给定一个平衡括号字符串 S,按下述规则计算该字符串的分数:() 得 1 分。AB 得 A + B 分,其中 A 和 B 是平衡括号字符串。(A) 得 2 * A 分,其中 A 是平衡括号字符串。Example_1输入: “()”输出: 1Example_2输入: “(())”输出: 2Example_3输入: “()()”输出: 2Example_4输入: “(()(()))”输出: 6TipsS 是平衡括号字符串,且只含有 ( 和 ) 。2原创 2021-07-18 08:36:54 · 226 阅读 · 0 评论 -
力扣 leetcode 5. 最长回文子串(python)
Topic给你一个字符串 s,找到 s 中最长的回文子串。Example_1输入:s = “babad”输出:“bab”解释:“aba” 同样是符合题意的答案。Example_2输入:s = “cbbd”输出:“bb”Example_3输入:s = “a”输出:“a”Example_4输入:s = “ac”输出:“a”Tips1 <= s.length <= 1000s 仅由数字和英文字母(大写和/或小写)组成Solution本题可以采用原创 2021-07-18 05:18:52 · 273 阅读 · 0 评论 -
力扣 leetcode 264. 丑数 II(python)
Topic给你一个整数 n ,请你找出并返回第 n 个 丑数 。丑数 就是只包含质因数 2、3 和/或 5 的正整数。Example_1输入:n = 10输出:12解释:[1, 2, 3, 4, 5, 6, 8, 9, 10, 12] 是由前 10 个丑数组成的序列。Example_2输入:n = 1输出:1解释:1 通常被视为丑数。Tips1 <= n <= 1690Solution由于因数仅有2,3 和\或 5组成那么不难看出 1 后面的丑数均有已有原创 2021-07-18 04:23:09 · 495 阅读 · 0 评论 -
力扣 leetcode 300. 最长递增子序列(python)
Topic给你一个整数数组 nums ,找到其中最长严格递增子序列的长度。子序列是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。例如,[3,6,2,7] 是数组 [0,3,1,6,2,2,7]Example_1输入:nums = [10,9,2,5,3,7,101,18]输出:4解释:最长递增子序列是 [2,3,7,101],因此长度为 4 。Example_2输入:nums = [0,1,0,3,2,3]输出:4Example_3输入:num原创 2021-07-18 03:55:26 · 2153 阅读 · 1 评论 -
力扣 leetcode 766. 托普利茨矩阵 (python)
Topic给你一个 m x n 的矩阵 matrix 。如果这个矩阵是托普利茨矩阵,返回 true ;否则,返回 false 。如果矩阵上每一条由左上到右下的对角线上的元素都相同,那么这个矩阵是 托普利茨矩阵 。Example_1输入:matrix = [[1,2,3,4],[5,1,2,3],[9,5,1,2]]输出:true解释:在上述矩阵中, 其对角线为:“[9]”, “[5, 5]”, “[1, 1, 1]”, “[2, 2, 2]”, “[3, 3]”, “[4]”。各条原创 2021-02-22 19:42:07 · 242 阅读 · 0 评论 -
力扣 leetcode 697. 数组的度 (python)计数排序 + 哈希
Topic给定一个非空且只包含非负数的整数数组 nums,数组的度的定义是指数组里任一元素出现频数的最大值。你的任务是在 nums 中找到与 nums 拥有相同大小的度的最短连续子数组,返回其长度。Example_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], [2, 2, 3原创 2021-02-20 01:43:41 · 267 阅读 · 3 评论 -
力扣 leetcode 567. 字符串的排列 (python)
Topic给定两个字符串 s1 和 s2,写一个函数来判断 s2 是否包含 s1 的排列。换句话说,第一个字符串的排列之一是第二个字符串的子串。Example_1输入: s1 = “ab” s2 = “eidbaooo”输出: True解释: s2 包含 s1 的排列之一 (“ba”).Example_2输入: s1= “ab” s2 = “eidboaoo”输出: FalseTips输入的字符串只包含小写字母两个字符串的长度都在 [1, 10,000] 之间Sol原创 2021-02-20 00:40:02 · 484 阅读 · 0 评论 -
力扣 leetcode 485. 最大连续 1 的个数 (python)
Topic给定一个二进制数组, 计算其中最大连续 1 的个数。Example输入:[1,1,0,1,1,1]输出:3解释:开头的两位和最后的三位都是连续 1 ,所以最大连续 1 的个数是 3.Tips输入的数组只包含 0 和 1 。输入数组的长度是正整数,且不超过 10,000。Solution通过enumerate函数仅需一次遍历即可满足题意同样是滑动窗口的方法只要窗口的右侧为1则继续右移窗口右侧指针当窗口右侧出现0的时候将窗口左侧指针放置在当前位置并继续右移窗口原创 2021-02-19 22:42:02 · 183 阅读 · 0 评论 -
力扣 leetcode 561. 数组拆分 I (python)
Topic给定长度为 2n 的整数数组 nums ,你的任务是将这些数分成 n 对, 例如 (a1, b1), (a2, b2), …, (an, bn) ,使得从 1 到 n 的 min(ai, bi) 总和最大。返回该 最大总和 。Example_1输入:nums = [1,4,3,2]输出:4解释:所有可能的分法(忽略元素顺序)为:(1, 4), (2, 3) -> min(1, 4) + min(2, 3) = 1 + 2 = 3(1, 3), (2, 4) ->原创 2021-02-19 22:16:08 · 501 阅读 · 0 评论 -
力扣 leetcode 566. 重塑矩阵 (python)
Topic在MATLAB中,有一个非常有用的函数 reshape,它可以将一个矩阵重塑为另一个大小不同的新矩阵,但保留其原始数据。给出一个由二维数组表示的矩阵,以及两个正整数r和c,分别表示想要的重构的矩阵的行数和列数。重构后的矩阵需要将原始矩阵的所有元素以相同的行遍历顺序填充。如果具有给定参数的reshape操作是可行且合理的,则输出新的重塑矩阵;否则,输出原始矩阵。Example_1输入:nums =[[1,2],[3,4]]r = 1, c = 4输出:[[1,2,3,4原创 2021-02-19 17:23:58 · 142 阅读 · 0 评论 -
力扣 leetcode 995. K 连续位的最小翻转次数 (python)
Topic在仅包含 0 和 1 的数组 A 中,一次 K 位翻转包括选择一个长度为 K 的(连续)子数组,同时将子数组中的每个 0 更改为 1,而每个 1 更改为 0。返回所需的 K 位翻转的最小次数,以便数组没有值为 0 的元素。如果不可能,返回 -1。Example_1输入:A = [0,1,0], K = 1输出:2解释:先翻转 A[0],然后翻转 A[2]。Example_2输入:A = [1,1,0], K = 2输出:-1解释:无论我们怎样翻转大小为 2 的子数组,原创 2021-02-19 17:00:06 · 253 阅读 · 0 评论 -
力扣 leetcode 1004. 最大连续1的个数 III (python)
Topic给定一个由若干 0 和 1 组成的数组 A,我们最多可以将 K 个值从 0 变成 1 。返回仅包含 1 的最长(连续)子数组的长度。Example_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。Example_2输入:A = [0,0,1,1,0,0,1,1,1,0,1,1,0,0,0,1,1,1,1], K = 3输出:10原创 2021-02-19 16:08:45 · 282 阅读 · 0 评论 -
力扣 leetcode 978. 最长湍流子数组 (python)双指针 + 直接遍历
Topic当 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]。也就是说如果比较符号在子数组中的每个相邻元素对之间翻转,则该子数组是湍流子数组。返回 A原创 2021-02-08 03:06:49 · 436 阅读 · 10 评论 -
力扣 leetcode 665. 非递减数列 (python)
Topic给你一个长度为 n 的整数数组,请你判断在 最多 改变 1 个元素的情况下,该数组能否变成一个非递减数列。我们是这样定义一个非递减数列的: 对于数组中所有的 i (0 <= i <= n-2),总满足 nums[i] <= nums[i + 1]。Example_1输入: nums = [4,2,3]输出: true解释: 你可以通过把第一个4变成1来使得它成为一个非递减数列。Example_2输入: nums = [4,2,1]输出: false原创 2021-02-07 20:10:51 · 389 阅读 · 1 评论 -
力扣 leetcode 1423. 可获得的最大点数 (python)滑窗
Topic几张卡牌 排成一行,每张卡牌都有一个对应的点数。点数由整数数组 cardPoints 给出。每次行动,你可以从行的开头或者末尾拿一张卡牌,最终你必须正好拿 k 张卡牌。你的点数就是你拿到手中的所有卡牌的点数之和。给你一个整数数组 cardPoints 和整数 k,请你返回可以获得的最大点数。Example_1输入:cardPoints = [1,2,3,4,5,6,1], k = 3输出:12解释:第一次行动,不管拿哪张牌,你的点数总是 1 。但是,先拿最右边的卡牌将会最大化原创 2021-02-06 01:13:14 · 695 阅读 · 1 评论 -
力扣 leetcode 941. 有效的山脉数组 (python)
首先判断是否为空集,若是则直接返回错误之后先将数组中最大的数字筛选出来但最大的数字既不能是第一位也不能是最后一位,否则就是“悬崖”而不是山脉了最后遍历最大的数前面的数是否每一位都小于这个数字后一位的数字同理遍历最大的数后面的数是否每一位都小于这个数字前一位的数字class Solution: def validMountainArray(self, A: List[int]) -> bool: if len(A) == 0: c = 0原创 2020-11-03 20:10:15 · 1084 阅读 · 1 评论 -
力扣 leetcode 1208. 尽可能使字符串相等 (python)滑窗 + 双指针
Topic给你两个长度相同的字符串,s 和 t。将 s 中的第 i 个字符变到 t 中的第 i 个字符需要 |s[i] - t[i]| 的开销(开销可能为 0),也就是两个字符的 ASCII 码值的差的绝对值。用于变更字符串的最大预算是 maxCost。在转化字符串时,总开销应当小于等于该预算,这也意味着字符串的转化可能是不完全的。如果你可以将 s 的子字符串转化为它在 t 中对应的子字符串,则返回可以转化的最大长度。如果 s 中没有子字符串可以转化成 t 中对应的子字符串,则返回 0。Ex原创 2021-02-05 02:46:41 · 470 阅读 · 1 评论 -
力扣 leetcode 643. 子数组最大平均数 I (python)
Topic给定 n 个整数,找出平均数最大且长度为 k 的连续子数组,并输出该最大平均数。Example输入:[1,12,-5,-6,50,3], k = 4输出:12.75解释:最大平均数 (12-5-6+50)/4 = 51/4 = 12.75Tips1 <= k <= n <= 30,000。所给数据范围 [-10,000,10,000]。Solution很明显这也是一道滑动窗口的题目平均数较大则总数一定更大为了增加运行效率仅需在遍历窗口时计算总数原创 2021-02-04 02:07:12 · 328 阅读 · 3 评论 -
力扣 leetcode 480. 滑动窗口中位数 (python)
Topic中位数是有序序列最中间的那个数。如果序列的长度是偶数,则没有最中间的数;此时中位数是最中间的两个数的平均数。例如:[2,3,4],中位数是 3[2,3],中位数是 (2 + 3) / 2 = 2.5给你一个数组 nums,有一个长度为 k 的窗口从最左端滑动到最右端。窗口中有 k 个数,每次窗口向右移动 1 位。你的任务是找出每次窗口移动后得到的新窗口中元素的中位数,并输出由它们组成的数组。Example给出 nums = [1,3,-1,-3,5,3,6,7],以及 k =原创 2021-02-03 21:58:39 · 785 阅读 · 0 评论 -
力扣 leetcode 424. 替换后的最长重复字符 (python)
Topic给你一个仅由大写英文字母组成的字符串,你可以将任意位置上的字符替换成另外的字符,总共可最多替换 k 次。在执行上述操作后,找到包含重复字母的最长子串的长度。注意:字符串长度 和 k 不会超过 104。Example_1输入:s = “ABAB”, k = 2输出:4解释:用两个’A’替换为两个’B’,反之亦然。Example_2输入:s = “AABABBA”, k = 1输出:4解释:将中间的一个’A’替换为’B’,字符串变为 “AABBBBA”。子串 “BBB原创 2021-02-02 21:55:27 · 475 阅读 · 1 评论 -
力扣 leetcode 888. 公平的糖果棒交换 (python)
Topic爱丽丝和鲍勃有不同大小的糖果棒:A[i] 是爱丽丝拥有的第 i 根糖果棒的大小,B[j] 是鲍勃拥有的第 j 根糖果棒的大小。因为他们是朋友,所以他们想交换一根糖果棒,这样交换后,他们都有相同的糖果总量。(一个人拥有的糖果总量是他们拥有的糖果棒大小的总和。)返回一个整数数组 ans,其中 ans[0] 是爱丽丝必须交换的糖果棒的大小,ans[1] 是 Bob 必须交换的糖果棒的大小。如果有多个答案,你可以返回其中任何一个。保证答案存在。Example_1输入:A = [1,1],原创 2021-02-01 23:54:57 · 151 阅读 · 0 评论 -
力扣 leetcode 839. 相似字符串组 (python)
Topic如果交换字符串 X 中的两个不同位置的字母,使得它和字符串 Y 相等,那么称 X 和 Y 两个字符串相似。如果这两个字符串本身是相等的,那它们也是相似的。例如,“tars” 和 “rats” 是相似的 (交换 0 与 2 的位置); “rats” 和 “arts” 也是相似的,但是 “star” 不与 “tars”,“rats”,或 “arts” 相似。总之,它们通过相似性形成了两个关联组:{“tars”, “rats”, “arts”} 和 {“star”}。注意,“tars” 和 “a原创 2021-01-31 18:51:01 · 371 阅读 · 1 评论 -
力扣 leetode 778. 水位上升的泳池中游泳 (python)
Topic在一个 N x N 的坐标方格 grid 中,每一个方格的值 grid[i][j] 表示在位置 (i,j) 的平台高度。现在开始下雨了。当时间为 t 时,此时雨水导致水池中任意位置的水位为 t 。你可以从一个平台游向四周相邻的任意一个平台,但是前提是此时水位必须同时淹没这两个平台。假定你可以瞬间移动无限距离,也就是默认在方格内部游动是不耗时的。当然,在你游泳的时候你必须待在坐标方格里面。你从坐标方格的左上平台 (0,0) 出发。最少耗时多久你才能到达坐标方格的右下平台 (N-1, N-1)原创 2021-01-30 23:08:24 · 376 阅读 · 2 评论 -
力扣 leetcode 1631. 最小体力消耗路径 (python)
Topic你准备参加一场远足活动。给你一个二维 rows x columns 的地图 heights ,其中 heights[row][col] 表示格子 (row, col) 的高度。一开始你在最左上角的格子 (0, 0) ,且你希望去最右下角的格子 (rows-1, columns-1) (注意下标从 0 开始编号)。你每次可以往 上,下,左,右 四个方向之一移动,你想要找到耗费 体力 最小的一条路径。一条路径耗费的 体力值 是路径上相邻格子之间 高度差绝对值 的 最大值 决定的。请你返回从左上原创 2021-01-29 21:55:03 · 395 阅读 · 1 评论 -
力扣 leetcode 724. 寻找数组的中心索引 (python)
Topic给你一个整数数组 nums,请编写一个能够返回数组 “中心索引” 的方法。数组 中心索引 是数组的一个索引,其左侧所有元素相加的和等于右侧所有元素相加的和。如果数组不存在中心索引,返回 -1 。如果数组有多个中心索引,应该返回最靠近左边的那一个。注意:中心索引可能出现在数组的两端。Example_1输入:nums = [1, 7, 3, 6, 5, 6]输出:3解释:索引 3 (nums[3] = 6) 的左侧数之和 (1 + 7 + 3 = 11),与右侧数之和 (5 +原创 2021-01-28 20:26:04 · 289 阅读 · 5 评论 -
力扣 leetcode 1579. 保证图可完全遍历 (python)并查集模板思路简单易懂
TopicAlice 和 Bob 共有一个无向图,其中包含 n 个节点和 3 种类型的边:类型 1:只能由 Alice 遍历。类型 2:只能由 Bob 遍历。类型 3:Alice 和 Bob 都可以遍历。给你一个数组 edges ,其中 edges[i] = [typei, ui, vi] 表示节点 ui 和 vi 之间存在类型为 typei 的双向边。请你在保证图仍能够被 Alice和 Bob 完全遍历的前提下,找出可以删除的最大边数。如果从任何节点开始,Alice 和 Bob 都可以到达所原创 2021-01-27 05:37:29 · 292 阅读 · 2 评论 -
力扣 leetcode 1128. 等价多米诺骨牌对的数量 (python)
Topic给你一个由一些多米诺骨牌组成的列表 dominoes。如果其中某一张多米诺骨牌可以通过旋转 0 度或 180 度得到另一张多米诺骨牌,我们就认为这两张牌是等价的。形式上,dominoes[i] = [a, b] 和 dominoes[j] = [c, d] 等价的前提是 ac 且 bd,或是 ad 且 bc。在 0 <= i < j < dominoes.length 的前提下,找出满足 dominoes[i] 和 dominoes[j] 等价的骨牌对 (i, j) 的原创 2021-01-26 22:25:43 · 206 阅读 · 0 评论 -
力扣 leetcode 959. 由斜杠划分区域 (python)
Topic在由 1 x 1 方格组成的 N x N 网格 grid 中,每个 1 x 1 方块由 /、\ 或空格构成。这些字符会将方块划分为一些共边的区域。(请注意,反斜杠字符是转义的,因此 \ 用 “\” 表示。)。返回区域的数目。ExampleExample_1:输入:[" /","/ "]输出:2解释:2x2 网格如下:Example_2输入:[" /"," "]输出:1解释:2x2 网格如下:Example_3输入:[“\/”,“原创 2021-01-25 22:56:00 · 281 阅读 · 0 评论 -
力扣 leetcode 1584. 连接所有点的最小费用 (python)并查集加Kruskal算法
Topic给你一个points 数组,表示 2D 平面上的一些点,其中 points[i] = [xi, yi] 。连接点 [xi, yi] 和点 [xj, yj] 的费用为它们之间的 曼哈顿距离 :|xi - xj| + |yi - yj| ,其中 |val| 表示 val 的绝对值。请你返回将所有点连接的最小总费用。只有任意两点之间 有且仅有 一条简单路径时,才认为所有点都已连接。Example_1输入:points = [[0,0],[2,2],[3,10],[5,2],[7,0]]原创 2021-01-24 04:33:58 · 469 阅读 · 1 评论 -
力扣 leetcode 674. 最长连续递增序列 (python)贪心 + 动态规划 多解
我的leetcode题解Topic给定一个未经排序的整数数组,找到最长且 连续递增的子序列,并返回该序列的长度。连续递增的子序列 可以由两个下标 l 和 r(l < r)确定,如果对于每个 l <= i < r,都有 nums[i] < nums[i + 1] ,那么子序列 [nums[l], nums[l + 1], …, nums[r - 1], nums[r]] 就是连续递增子序列。Example_1输入:nums = [1,3,5,4,7]输出:3解释:最原创 2021-01-24 01:03:33 · 257 阅读 · 0 评论 -
力扣 leetcode 1319. 连通网络的操作次数 (python)并查集模板快速解及树的高效解
Topic:用以太网线缆将 n 台计算机连接成一个网络,计算机的编号从 0 到 n-1。线缆用 connections 表示,其中 connections[i] = [a, b] 连接了计算机 a 和 b。网络中的任何一台计算机都可以通过网络直接或者间接访问同一个网络中其他任意一台计算机。给你这个计算机网络的初始布线 connections,你可以拔开任意两台直连计算机之间的线缆,并用它连接一对未直连的计算机。请你计算并返回使所有计算机都连通所需的最少操作次数。如果不可能,则返回 -1 。Exa原创 2021-01-23 02:10:45 · 290 阅读 · 4 评论 -
力扣 leetcode 989. 数组形式的整数加法 (C ++)
思路是python解法中第三个思路犹豫不会C++中直接将A变为双端队列于是在C++中直接用的insert方法实现class Solution {public: vector<int> addToArrayForm(vector<int>& A, int K) { int i = A.size() - 1; while(K > 0){ A[i] += K; K = A[i原创 2021-01-22 21:29:46 · 156 阅读 · 0 评论 -
力扣 leetcode 989. 数组形式的整数加法 (python)
Topic:对于非负整数 X 而言,X 的数组形式是每位数字按从左到右的顺序形成的数组。例如,如果 X = 1231,那么其数组形式为 [1,2,3,1]。给定非负整数 X 的数组形式 A,返回整数 X+K 的数组形式。Example_1:输入:A = [1,2,0,0], K = 34输出:[1,2,3,4]解释:1200 + 34 = 1234Example_2:输入:A = [2,7,4], K = 181输出:[4,5,5]解释:274 + 181 = 455Exa原创 2021-01-22 01:53:46 · 266 阅读 · 1 评论 -
力扣 leetcode 1489. 找到最小生成树里的关键边和伪关键边 (python) 并查集方法简单清晰
Topic:给你一个 n 个点的带权无向连通图,节点编号为 0 到 n-1 ,同时还有一个数组 edges ,其中 edges[i] = [fromi, toi, weighti] 表示在 fromi 和 toi 节点之间有一条带权无向边。最小生成树 (MST) 是给定图中边的一个子集,它连接了所有节点且没有环,而且这些边的权值和最小。请你找到给定图中最小生成树的所有关键边和伪关键边。如果从图中删去某条边,会导致最小生成树的权值和增加,那么我们就说它是一条关键边。伪关键边则是可能会出现在某些最小生成树原创 2021-01-21 23:19:19 · 334 阅读 · 0 评论 -
力扣 leetcode 628. 三个数的最大乘积
Topic:给定一个整型数组,在数组中找出由三个数组成的最大乘积,并输出这个乘积。Example_1:输入: [1,2,3]输出: 6Example_2:输入: [1,2,3,4]输出: 24Solution_1(多次遍历):不断对数组中的数取样和排列判断最大的值后直接返回运算效率极低不推荐Code_1:class Solution: def maximumProduct(self, nums: List[int]) -> int: n =原创 2021-01-20 21:45:55 · 203 阅读 · 1 评论