![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
力扣
小董_不长肉
这个作者很懒,什么都没留下…
展开
-
1669. 合并两个链表 (Python 实现)
力扣原创 2022-07-12 17:50:24 · 729 阅读 · 1 评论 -
175. 组合两个表
力扣原创 2022-07-12 17:09:22 · 321 阅读 · 0 评论 -
1791. 找出星型图的中心节点 (Python 实现)
力扣原创 2022-07-08 00:03:29 · 552 阅读 · 0 评论 -
LCP 07. 传递信息 (Python 实现)
力扣原创 2022-07-07 22:47:39 · 781 阅读 · 0 评论 -
24. 两两交换链表中的节点 (Python 实现)
力扣原创 2022-07-05 15:44:48 · 359 阅读 · 0 评论 -
剑指 Offer II 027. 回文链表 (Python 实现)
力扣原创 2022-07-05 15:35:42 · 234 阅读 · 0 评论 -
剑指 Offer 52. 两个链表的第一个公共节点 (Python 实现)
力扣原创 2022-07-05 15:33:32 · 198 阅读 · 0 评论 -
剑指 Offer 24. 反转链表 (Python 实现)
力扣原创 2022-07-05 15:25:44 · 127 阅读 · 0 评论 -
997. 找到小镇的法官 (Python 实现)
力扣原创 2022-07-05 15:16:24 · 205 阅读 · 1 评论 -
21. 合并两个有序链表 (Python 实现)
力扣原创 2022-06-28 17:02:56 · 1628 阅读 · 0 评论 -
剑指 Offer 22. 链表中倒数第k个节点 (Python 实现)
力扣原创 2022-06-28 16:48:23 · 313 阅读 · 0 评论 -
剑指 Offer 18. 删除链表的节点 (Python 实现)
力扣原创 2022-06-27 20:06:32 · 630 阅读 · 0 评论 -
1791. 找出星型图的中心节点 (Python 实现)
题目:有一个无向的 星型 图,由 n 个编号从 1 到 n 的节点组成。星型图有一个 中心 节点,并且恰有 n - 1 条边将中心节点与其他每个节点连接起来。给你一个二维整数数组 edges ,其中 edges[i] = [ui, vi] 表示在节点 ui 和 vi 之间存在一条边。请你找出并返回 edges 所表示星型图的中心节点。示例 1:输入:edges = [[1,2],[2,3],[4,2]]输出:2解释:如上图所示,节点 2 与其他每个节点都相连,所以节点 2 是中心节点。原创 2022-02-27 15:35:12 · 469 阅读 · 0 评论 -
119. 杨辉三角 II (Python 实现)
题目:给定一个非负索引 rowIndex,返回「杨辉三角」的第 rowIndex 行。在「杨辉三角」中,每个数是它左上方和右上方的数的和。示例 1:输入: rowIndex = 3输出: [1,3,3,1]示例 2:输入: rowIndex = 0输出: [1]示例 3:输入: rowIndex = 1输出: [1,1]代码:class Solution: def getRow(self, rowIndex: int) -> List[int]:原创 2022-02-21 18:40:57 · 310 阅读 · 0 评论 -
剑指 Offer II 085. 生成匹配的括号 (Python 实现)
题目:正整数 n 代表生成括号的对数,请设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。示例 1:输入:n = 3输出:["((()))","(()())","(())()","()(())","()()()"]示例 2:输入:n = 1输出:["()"]代码:class Solution: def generateParenthesis(self, n: int) -> List[str]: def dfs(tem, left, ri原创 2022-02-20 13:27:22 · 97 阅读 · 0 评论 -
70. 爬楼梯 (Python 实现)
题目:假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?示例 1:输入:n = 2输出:2解释:有两种方法可以爬到楼顶。1 阶 + 1 阶2 阶示例 2:输入:n = 3输出:3解释:有三种方法可以爬到楼顶。1 阶 + 1 阶 + 1 阶1 阶 + 2 阶2 阶 + 1 阶代码:class Solution: def climbStairs(self, n: int) ->原创 2022-02-20 13:20:46 · 1368 阅读 · 1 评论 -
102. 二叉树的层序遍历 (Python 实现)
题目:给你二叉树的根节点 root ,返回其节点值的 层序遍历 。 (即逐层地,从左到右访问所有节点)。示例 1:输入:root = [3,9,20,null,null,15,7]输出:[[3],[9,20],[15,7]]示例 2:输入:root = [1]输出:[[1]]示例 3:输入:root = []输出:[]代码:# Definition for a binary tree node.# class TreeNode:# def __init_原创 2022-02-18 18:44:45 · 1144 阅读 · 0 评论 -
129. 求根节点到叶节点数字之和 (Python 实现)
题目:给你一个二叉树的根节点 root ,树中每个节点都存放有一个 0 到 9 之间的数字。每条从根节点到叶节点的路径都代表一个数字:例如,从根节点到叶节点的路径 1 -> 2 -> 3 表示数字 123 。计算从根节点到叶节点生成的 所有数字之和 。叶节点 是指没有子节点的节点。示例 1:输入:root = [1,2,3]输出:25解释:从根到叶子节点路径 1->2 代表数字 12从根到叶子节点路径 1->3 代表数字 13因此,数字总和 = 12原创 2022-02-16 11:51:14 · 531 阅读 · 0 评论 -
973. 最接近原点的 K 个点 (Python 实现)
题目:给定一个数组 points ,其中 points[i] = [xi, yi] 表示 X-Y 平面上的一个点,并且是一个整数 k ,返回离原点 (0,0) 最近的 k 个点。这里,平面上两点之间的距离是 欧几里德距离( √(x1 - x2)2 + (y1 - y2)2 )。你可以按 任何顺序 返回答案。除了点坐标的顺序之外,答案 确保 是 唯一 的。示例 1:输入:points = [[1,3],[-2,2]], k = 1输出:[[-2,2]]解释:(1, 3) 和原点之间的距原创 2022-02-15 13:50:44 · 588 阅读 · 0 评论 -
1738. 找出第 K 大的异或坐标值 (Python 实现)
题目:给你一个二维矩阵 matrix 和一个整数 k ,矩阵大小为 m x n 由非负整数组成。矩阵中坐标 (a, b) 的 值 可由对所有满足 0 <= i <= a < m 且 0 <= j <= b < n 的元素 matrix[i][j](下标从 0 开始计数)执行异或运算得到。请你找出 matrix 的所有坐标中第 k 大的值(k 的值从 1 开始计数)。示例 1:输入:matrix = [[5,2],[1,6]], k = 1输出:7解释:原创 2022-02-14 18:54:15 · 97 阅读 · 0 评论 -
1337. 矩阵中战斗力最弱的 K 行 (Python 实现)
题目:给你一个大小为 m * n 的矩阵 mat,矩阵由若干军人和平民组成,分别用 1 和 0 表示。请你返回矩阵中战斗力最弱的 k 行的索引,按从最弱到最强排序。如果第 i 行的军人数量少于第 j 行,或者两行军人数量相同但 i 小于 j,那么我们认为第 i 行的战斗力比第 j 行弱。军人 总是 排在一行中的靠前位置,也就是说 1 总是出现在 0 之前。示例 1:输入:mat =[[1,1,0,0,0],[1,1,1,1,0],[1,0,0,0,0],[1,1,0,0,0],[转载 2022-02-14 18:40:09 · 118 阅读 · 0 评论 -
1464. 数组中两元素的最大乘积 (Python 实现)
题目:给你一个整数数组 nums,请你选择数组的两个不同下标 i 和 j,使 (nums[i]-1)*(nums[j]-1) 取得最大值。请你计算并返回该式的最大值。示例 1:输入:nums = [3,4,5,2]输出:12解释:如果选择下标 i=1 和 j=2(下标从 0 开始),则可以获得最大值,(nums[1]-1)(nums[2]-1) = (4-1)(5-1) = 3*4 = 12 。示例 2:输入:nums = [1,5,4,5]输出:16解释:选择下标 i=1 和原创 2022-02-13 16:50:17 · 520 阅读 · 0 评论 -
116. 填充每个节点的下一个右侧节点指针 (Python 实现)
题目:给定一个 完美二叉树 ,其所有叶子节点都在同一层,每个父节点都有两个子节点。二叉树定义如下:struct Node {int val;Node *left;Node *right;Node *next;}填充它的每个 next 指针,让这个指针指向其下一个右侧节点。如果找不到下一个右侧节点,则将 next 指针设置为 NULL。初始状态下,所有 next 指针都被设置为 NULL。示例 1:输入:root = [1,2,3,4,5,6,7]输出:[1,#,2,3原创 2022-02-10 19:55:52 · 142 阅读 · 0 评论 -
590. N 叉树的后序遍历 (Python 实现)
题目:给定一个 n 叉树的根节点 root ,返回 其节点值的 后序遍历 。n 叉树 在输入中按层序遍历进行序列化表示,每组子节点由空值 null 分隔(请参见示例)。示例 1:输入:root = [1,null,3,2,4,null,5,6]输出:[5,6,3,2,4,1]示例 2:输入:root = [1,null,2,3,4,5,null,null,6,7,null,8,null,9,10,null,null,11,null,12,null,13,null,null,14]原创 2022-02-10 19:28:12 · 192 阅读 · 0 评论 -
589. N 叉树的前序遍历 (Python 实现)
题目:给定一个 n 叉树的根节点 root ,返回 其节点值的 前序遍历 。n 叉树 在输入中按层序遍历进行序列化表示,每组子节点由空值 null 分隔(请参见示例)。示例 1:输入:root = [1,null,3,2,4,null,5,6]输出:[1,3,5,6,2,4]示例 2:输入:root = [1,null,2,3,4,5,null,null,6,7,null,8,null,9,10,null,null,11,null,12,null,13,null,null,14原创 2022-02-10 19:26:58 · 213 阅读 · 0 评论 -
103. 二叉树的锯齿形层序遍历 (Python 实现)
题目:给你二叉树的根节点 root ,返回其节点值的 锯齿形层序遍历 。(即先从左往右,再从右往左进行下一层遍历,以此类推,层与层之间交替进行)。示例 1:输入:root = [3,9,20,null,null,15,7]输出:[[3],[20,9],[15,7]]示例 2:输入:root = [1]输出:[[1]]示例 3:输入:root = []输出:[]代码:# Definition for a binary tree node.# class TreeNo原创 2022-02-10 11:06:57 · 185 阅读 · 0 评论 -
LCP 44. 开幕式焰火 (Python 实现)
题目:「力扣挑战赛」开幕式开始了,空中绽放了一颗二叉树形的巨型焰火。给定一棵二叉树 root 代表焰火,节点值表示巨型焰火这一位置的颜色种类。请帮小扣计算巨型焰火有多少种不同的颜色。示例 1:输入:root = [1,3,2,1,null,2]输出:3解释:焰火中有 3 个不同的颜色,值分别为 1、2、3示例 2:输入:root = [3,3,3]输出:1解释:焰火中仅出现 1 个颜色,值为 3代码:# Definition for a binary tree node.原创 2022-02-07 12:06:09 · 411 阅读 · 0 评论 -
232. 用栈实现队列 (Python 实现)
题目:请你仅使用两个栈实现先入先出队列。队列应当支持一般队列支持的所有操作(push、pop、peek、empty):实现 MyQueue 类:void push(int x) 将元素 x 推到队列的末尾int pop() 从队列的开头移除并返回元素int peek() 返回队列开头的元素boolean empty() 如果队列为空,返回 true ;否则,返回 false说明:你 只能 使用标准的栈操作 —— 也就是只有 push to top, peek/pop from top, s原创 2022-01-25 10:55:30 · 993 阅读 · 0 评论 -
1946. 子字符串突变后可能得到的最大整数 (Python 实现)
题目:给你一个字符串 num ,该字符串表示一个大整数。另给你一个长度为 10 且 下标从 0 开始 的整数数组 change ,该数组将 0-9 中的每个数字映射到另一个数字。更规范的说法是,数字 d 映射为数字 change[d] 。你可以选择 突变 num 的任一子字符串。突变 子字符串意味着将每位数字 num[i] 替换为该数字在 change 中的映射(也就是说,将 num[i] 替换为 change[num[i]])。请你找出在对 num 的任一子字符串执行突变操作(也可以不执行)后原创 2022-01-21 13:55:05 · 93 阅读 · 0 评论 -
1267. 统计参与通信的服务器 (Python 实现)
题目:这里有一幅服务器分布图,服务器的位置标识在 m * n 的整数矩阵网格 grid 中,1 表示单元格上有服务器,0 表示没有。如果两台服务器位于同一行或者同一列,我们就认为它们之间可以进行通信。请你统计并返回能够与至少一台其他服务器进行通信的服务器的数量。示例 1:输入:grid = [[1,0],[0,1]]输出:0解释:没有一台服务器能与其他服务器进行通信。示例 2:输入:grid = [[1,0],[1,1]]输出:3解释:所有这些服务器都至少可以与一台别的服原创 2022-01-19 11:07:30 · 106 阅读 · 0 评论 -
面试题 16.10. 生存人数 (Python 实现)
题目:给定 N 个人的出生年份和死亡年份,第 i 个人的出生年份为 birth[i],死亡年份为 death[i],实现一个方法以计算生存人数最多的年份。你可以假设所有人都出生于 1900 年至 2000 年(含 1900 和 2000 )之间。如果一个人在某一年的任意时期处于生存状态,那么他应该被纳入那一年的统计中。例如,生于 1908 年、死于 1909 年的人应当被列入 1908 年和 1909 年的计数。如果有多个年份生存人数相同且均为最大值,输出其中最小的年份。示例:输入:bir原创 2022-01-18 21:58:55 · 132 阅读 · 0 评论 -
27. 移除元素 (Python 实现)
题目:给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。说明:为什么返回数值是整数,但输出的答案是数组呢?请注意,输入数组是以「引用」方式传递的,这意味着在函数里修改输入数组对于调用者是可见的。你可以想象内部操作如下:// nums 是以“引用”方式传递的。也就是说,不对实参作任何拷贝原创 2022-01-18 21:34:45 · 321 阅读 · 0 评论 -
35. 搜索插入位置 (Python 实现)
题目:给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。请必须使用时间复杂度为 O(log n) 的算法。示例 1:输入: nums = [1,3,5,6], target = 5输出: 2示例 2:输入: nums = [1,3,5,6], target = 2输出: 1示例 3:输入: nums = [1,3,5,6], target = 7输出: 4示例 4:输入: nums = [1,3原创 2022-01-17 16:50:43 · 719 阅读 · 0 评论 -
240. 搜索二维矩阵 II (Python 实现)
题目:编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target 。该矩阵具有以下特性:每行的元素从左到右升序排列。每列的元素从上到下升序排列。示例 1:输入:matrix = [[1,4,7,11,15],[2,5,8,12,19],[3,6,9,16,22],[10,13,14,17,24],[18,21,23,26,30]], target = 5输出:true示例 2:输入:matrix = [[1,4,7,11,15],[2,5,8,12,原创 2022-01-15 14:50:17 · 396 阅读 · 0 评论 -
33. 搜索旋转排序数组 (Python 实现)
题目:整数数组 nums 按升序排列,数组中的值 互不相同 。在传递给函数之前,nums 在预先未知的某个下标 k(0 <= k < nums.length)上进行了 旋转,使数组变为 [nums[k], nums[k+1], …, nums[n-1], nums[0], nums[1], …, nums[k-1]](下标 从 0 开始 计数)。例如, [0,1,2,4,5,6,7] 在下标 3 处经旋转后可能变为 [4,5,6,7,0,1,2] 。给你 旋转后 的数组 nums 和一个原创 2022-01-13 20:16:57 · 400 阅读 · 0 评论 -
202. 快乐数 (Python 实现)
题目:编写一个算法来判断一个数 n 是不是快乐数。「快乐数」定义为:对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和。然后重复这个过程直到这个数变为 1,也可能是 无限循环 但始终变不到 1。如果 可以变为 1,那么这个数就是快乐数。如果 n 是快乐数就返回 true ;不是,则返回 false 。示例 1:输入:n = 19输出:true解释:12 + 92 = 8282 + 22 = 6862 + 82 = 10012 + 02 + 02 = 1示例原创 2022-01-12 12:44:25 · 1481 阅读 · 0 评论 -
46. 全排列 (Python 实现)
题目:给定一个不含重复数字的数组 nums ,返回其 所有可能的全排列 。你可以 按任意顺序 返回答案。示例 1:输入:nums = [1,2,3]输出:[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]示例 2:输入:nums = [0,1]输出:[[0,1],[1,0]]示例 3:输入:nums = [1]输出:[[1]]代码:class Solution: def permute(self, nums: L原创 2022-01-11 19:21:58 · 409 阅读 · 0 评论 -
118. 杨辉三角 (Python 实现)
题目:给定一个非负整数 numRows,生成「杨辉三角」的前 numRows 行。在「杨辉三角」中,每个数是它左上方和右上方的数的和。示例 1:输入: numRows = 5输出: [[1],[1,1],[1,2,1],[1,3,3,1],[1,4,6,4,1]]示例 2:输入: numRows = 1输出: [[1]]代码:class Solution: def generate(self, numRows: int) -> List[List[int]]:原创 2022-01-11 19:03:35 · 387 阅读 · 0 评论 -
389. 找不同 (Python 实现)
题目:给定两个字符串 s 和 t,它们只包含小写字母。字符串 t 由字符串 s 随机重排,然后在随机位置添加一个字母。请找出在 t 中被添加的字母。示例 1:输入:s = “abcd”, t = “abcde”输出:“e”解释:‘e’ 是那个被添加的字母。示例 2:输入:s = “”, t = “y”输出:“y”示例 3:输入:s = “a”, t = “aa”输出:“a”示例 4:输入:s = “ae”, t = “aea”输出:“a”代码:clas原创 2022-01-09 13:15:48 · 470 阅读 · 0 评论 -
274. H 指数 (Python 实现)
题目:给你一个整数数组 citations ,其中 citations[i] 表示研究者的第 i 篇论文被引用的次数。计算并返回该研究者的 h 指数。h 指数的定义:h 代表“高引用次数”(high citations),一名科研人员的 h 指数是指他(她)的 (n 篇论文中)总共有 h 篇论文分别被引用了至少 h 次。且其余的 n - h 篇论文每篇被引用次数 不超过 h 次。例如:某人的 h 指数是 20,这表示他已发表的论文中,每篇被引用了至少 20 次的论文总共有 20 篇。提示:如果 h原创 2022-01-08 14:48:58 · 464 阅读 · 0 评论