leetcode刷题
文章平均质量分 80
leetcode刷题,python
黑暗主宰
这个作者很懒,什么都没留下…
展开
-
Leetcode 1281. 整数的各位积和之差
Leetcode 1281. 整数的各位积和之差题目描述给你一个整数 n,请你帮忙计算并返回该整数「各位数字之积」与「各位数字之和」的差。示例1:输入:n = 234输出:15 解释:各位数之积 = 2 * 3 * 4 = 24 各位数之和 = 2 + 3 + 4 = 9 结果 = 24 - 9 = 15示例2:输入:n = 4421输出:21解释: 各位数之积 = 4 * 4 * 2 * 1 = 32 各位数之和 = 4 + 4 + 2 + 1 = 11 结果 = 32原创 2020-11-01 21:03:31 · 1166 阅读 · 0 评论 -
Leetcode 1431. 拥有最多糖果的孩子
Leetcode 1431. 拥有最多糖果的孩子题目描述给你一个数组 candies 和一个整数 extraCandies ,其中 candies[i] 代表第 i 个孩子拥有的糖果数目。对每一个孩子,检查是否存在一种方案,将额外的 extraCandies 个糖果分配给孩子们之后,此孩子有 最多 的糖果。注意,允许有多个孩子同时拥有 最多 的糖果数目。示例1:输入:candies = [2,3,5,1,3], extraCandies = 3输出:[true,true,true,false,t原创 2020-11-01 20:58:54 · 1194 阅读 · 0 评论 -
Leetcode 1486. 数组异或操作
Leetcode 1486. 数组异或操作题目描述给你两个整数,n 和 start 。数组 nums 定义为:nums[i] = start + 2*i(下标从 0 开始)且 n == nums.length 。请返回 nums 中所有元素按位异或(XOR)后得到的结果。示例1:输入:n = 5, start = 0输出:8解释:数组 nums 为 [0, 2, 4, 6, 8],其中 (0 ^ 2 ^ 4 ^ 6 ^ 8) = 8 。 "^" 为按位异或 XOR 运算符。示例原创 2020-11-01 20:57:08 · 1020 阅读 · 0 评论 -
Leetcode 1603. 设计停车系统
Leetcode 1603. 设计停车系统题目描述请你给一个停车场设计一个停车系统。停车场总共有三种不同大小的车位:大,中和小,每种尺寸分别有固定数目的车位。请你实现 ParkingSystem 类:ParkingSystem(int big, int medium, int small) 初始化 ParkingSystem 类,三个参数分别对应每种停车位的数目。bool addCar(int carType) 检查是否有 carType 对应的停车位。 carType 有三种类型:大,中,小,原创 2020-11-01 20:53:02 · 517 阅读 · 0 评论 -
Leetcode LCP 06. 拿硬币
Leetcode LCP 06. 拿硬币题目描述给你一个整数 n,请你帮忙计算并返回该整数「各位数字之积」与「各位数字之和」的差。示例1:输入:n = 234输出:15 解释:各位数之积 = 2 * 3 * 4 = 24 各位数之和 = 2 + 3 + 4 = 9 结果 = 24 - 9 = 15示例2:输入:n = 4421输出:21解释: 各位数之积 = 4 * 4 * 2 * 1 = 32 各位数之和 = 4 + 4 + 2 + 1 = 11 结果 = 32 - 11原创 2020-11-01 20:41:27 · 403 阅读 · 0 评论 -
Leetcode 1512. 好数对的数目
Leetcode 1512. 好数对的数目题目描述给你一个整数数组 nums 。如果一组数字 (i,j) 满足 nums[i] == nums[j] 且 i < j ,就可以认为这是一组 好数对 。返回好数对的数目。示例1:输入:nums = [1,2,3,1,1,3]输出:4解释:有 4 组好数对,分别是 (0,3), (0,4), (3,4), (2,5) ,下标从 0 开始示例2:输入:nums = [1,1,1,1]输出:6解释:数组中的每组数字都是好数对示例3:原创 2020-10-27 09:15:11 · 407 阅读 · 0 评论 -
leetcode 1480.一维数组的动态和
leetcode 1480.一维数组的动态和题目描述给你一个数组 nums 。数组「动态和」的计算公式为:runningSum[i] = sum(nums[0]…nums[i]) 。请返回 nums 的动态和。示例 1:输入:nums = [1,2,3,4]输出:[1,3,6,10]解释:动态和计算过程为 [1, 1+2, 1+2+3, 1+2+3+4]。示例 2:输入:nums = [1,1,1,1,1]输出:[1,2,3,4,5]解释:动态和计算过程为 [1, 1+1, 1+1+原创 2020-10-25 19:55:33 · 458 阅读 · 0 评论 -
leetcode 98.验证二叉搜索树
leetcode 98.验证二叉搜索树题目描述给定一个二叉树,判断其是否是一个有效的二叉搜索树。假设一个二叉搜索树具有如下特征:节点的左子树只包含小于当前节点的数。节点的右子树只包含大于当前节点的数。所有左子树和右子树自身必须也是二叉搜索树。示例 1:输入: 2 / \ 1 3输出: true示例 2:输入: 5 / \...原创 2020-02-10 21:12:07 · 1421 阅读 · 0 评论 -
leetcode 110.平衡二叉树
leetcode 110.平衡二叉树题目描述给定一个二叉树,判断它是否是高度平衡的二叉树。本题中,一棵高度平衡二叉树定义为:一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过1。示例 1:给定二叉树 [3,9,20,null,null,15,7] 3 / \ 9 20 / \ 15 7返回 true 。示例 2:给定二叉树 [1...原创 2020-02-10 16:31:20 · 1273 阅读 · 0 评论 -
leetcode 234.回文链表
leetcode 234.回文链表题目描述请判断一个链表是否为回文链表。示例 1:输入: 1->2输出: false示例 2:输入: 1->2->2->1输出: true进阶:你能否用 O(n) 时间复杂度和 O(1) 空间复杂度解决此题?解题思路方法1: 借助额外的空间复杂度,使用栈的方法。具体方法是,先压榨,这样的话,栈顶的元素就是链表的尾...原创 2020-02-05 20:57:32 · 1426 阅读 · 0 评论 -
leetcode 106.从中序与后序遍历序列构造二叉树
leetcode 106.从中序与后序遍历序列构造二叉树题目描述根据一棵树的中序遍历与后序遍历构造二叉树。注意:你可以假设树中没有重复的元素。例如,给出中序遍历 inorder = [9,3,15,20,7]后序遍历 postorder = [9,15,7,20,3]返回如下的二叉树: 3 / \ 9 20 / \ 15 7解题思路在...原创 2020-01-29 12:57:18 · 2130 阅读 · 1 评论 -
leetcode解题汇总(持续更新)
leetcode解题汇总(持续更新)笔者刷题是从19年秋招前后开始的,无论是硬件工程师、软件工程师、算法工程师、测试工程师等等,只要要求掌握编程语言的相关岗位,对算法和数据结构相关的知识的要求是必不可少。对于这些知识的掌握值通过课本上的知识是不够的,笔者亲身经历过19年秋招。流程大部分都是分三步:网申、笔试、面试(一般至少两轮、及以上)。你如果想通过笔试这一关,必须要刷题,通过了笔试以后,在面试...原创 2020-01-27 17:16:23 · 7618 阅读 · 3 评论 -
leetcode 105.从前序与中序遍历序列构造二叉树
leetcode 105.从前序与中序遍历序列构造二叉树题目描述根据一棵树的前序遍历与中序遍历构造二叉树。注意:你可以假设树中没有重复的元素。例如,给出前序遍历 preorder = [3,9,20,15,7]中序遍历 inorder = [9,3,15,20,7]返回如下的二叉树: 3 / \ 9 20 / \ 15 7解题思路前序...原创 2020-01-21 22:45:46 · 2012 阅读 · 0 评论 -
leetcode 82. 删除排序链表中的重复元素 II
leetcode 82. 删除排序链表中的重复元素 II题目描述给定一个排序链表,删除所有含有重复数字的节点,只保留原始链表中 没有重复出现 的数字。示例 1:输入: 1->2->3->3->4->4->5输出: 1->2->5示例 2:输入: 1->1->1->2->3输出: 2->3解题思路这...原创 2020-01-20 16:31:38 · 1827 阅读 · 0 评论 -
leetcode 74.搜素二维矩阵
leetcode 74.搜素二维矩阵题目描述编写一个高效的算法来判断 m x n 矩阵中,是否存在一个目标值。该矩阵具有如下特性:每行中的整数从左到右按升序排列。每行的第一个整数大于前一行的最后一个整数。示例 1:输入:matrix = [ [1, 3, 5, 7], [10, 11, 16, 20], [23, 30, 34, 50]]target = 3...原创 2020-01-16 13:05:24 · 3056 阅读 · 0 评论 -
leetcode80.删除排序数组中的重复项 II
leetcode80.删除排序数组中的重复项 II题目描述给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素最多出现两次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。示例 1:给定 nums = [1,1,1,2,2,3],函数应返回新长度 length = 5, 并且原数组的前五个元素被修改为 1, 1...原创 2020-01-16 11:53:20 · 1452 阅读 · 0 评论 -
leetcode 60.第k个排列
leetcode 60.第k个排列题目描述给出集合 [1,2,3,…,n],其所有元素共有 n! 种排列。按大小顺序列出所有排列情况,并一一标记,当 n = 3 时, 所有排列如下:“123”“132”“213”“231”“312”“321”给定 n 和 k,返回第 k 个排列。说明:给定 n 的范围是 [1, 9]。给定 k 的范围是[1, n!]。...原创 2020-01-15 12:00:05 · 1641 阅读 · 0 评论 -
leetcode 86.分割链表
leetcode 86.分割链表题目描述给定一个链表和一个特定值 x,对链表进行分隔,使得所有小于 x 的节点都在大于或等于 x 的节点之前。你应当保留两个分区中每个节点的初始相对位置。示例:输入: head = 1->4->3->2->5->2, x = 3输出: 1->2->2->4->3->5解题思路题目要求不改变...原创 2020-01-14 19:08:45 · 1532 阅读 · 0 评论 -
Leetcode461--汉明距离
Leetcode461–汉明距离两个整数之间的汉明距离指的是这两个数字对应二进制位不同的位置的数目。给出两个整数 x 和 y,计算它们之间的汉明距离。作者:黑暗主宰邮箱:shengzhanhe@gmail.com文章目录Leetcode461--汉明距离题目描述解题思路Leetcode461–汉明距离题目描述原题链接: https://leetcode-cn.com/prob...原创 2019-07-15 22:15:29 · 436 阅读 · 2 评论 -
leetcode 29.两数相除
leetcode 29.两数相除题目描述给定两个整数,被除数 dividend 和除数 divisor。将两数相除,要求不使用乘法、除法和 mod 运算符。返回被除数 dividend 除以除数 divisor 得到的商。示例 1:输入: dividend = 10, divisor = 3输出: 3示例 2:输入: dividend = 7, divisor = -3输出: ...原创 2020-01-10 10:59:43 · 1552 阅读 · 0 评论 -
leetcode 75.颜色分类
leetcode 75.颜色分类题目描述给定一个包含红色、白色和蓝色,一共 n 个元素的数组,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。此题中,我们使用整数 0、 1 和 2 分别表示红色、白色和蓝色。注意:不能使用代码库中的排序函数来解决这道题。示例:输入: [2,0,2,1,1,0]输出: [0,0,1,1,2,2]解题思路方法一:两趟遍...原创 2020-01-07 10:19:00 · 1524 阅读 · 0 评论 -
leetcode 6.Z字形变换
leetcode 6.Z字形变换题目描述将一个给定字符串根据给定的行数,以从上往下、从左到右进行 Z 字形排列。比如输入字符串为 “LEETCODEISHIRING” 行数为 3 时,排列如下:L C I RE T O E S I I GE D H N之后,你的输出需要从左往右逐行读取,产生出一个新的字符串,比如:“LCIRETOESIIGEDHN”。请你...原创 2020-01-05 13:21:02 · 1744 阅读 · 1 评论 -
leetcode 219.存在重复元素II
leetcode 219.存在重复元素II题目描述给定一个整数数组和一个整数 k,判断数组中是否存在两个不同的索引 i 和 j,使得 nums [i] = nums [j],并且 i 和 j 的差的绝对值最大为 k。示例 1:输入: nums = [1,2,3,1], k = 3输出: true示例 2:输入: nums = [1,0,1,1], k = 1输出: true示...原创 2020-01-05 11:33:38 · 1561 阅读 · 0 评论 -
leetcode 205.同构字符串
leetcode 205.同构字符串题目描述给定两个字符串 s 和 t,判断它们是否是同构的。如果 s 中的字符可以被替换得到 t ,那么这两个字符串是同构的。所有出现的字符都必须用另一个字符替换,同时保留字符的顺序。两个字符不能映射到同一个字符上,但字符可以映射自己本身。示例 1:输入: s = "egg", t = "add"输出: true示例 2:输入: s = "fo...原创 2020-01-05 11:01:43 · 1901 阅读 · 0 评论 -
leetcode 168.Excel表列名称
leetcode 168.Excel表列名称题目描述给定一个正整数,返回它在 Excel 表中相对应的列名称。例如,1 -> A2 -> B3 -> C...26 -> Z27 -> AA28 -> AB ...示例 1:输入: 1输出: "A"示例 2:输入: 28输出: "AB"示例 3:输入: 701输出: "...原创 2020-01-05 10:29:46 · 1434 阅读 · 0 评论 -
leetcode 202.快乐数
leetcode 202.快乐数题目描述编写一个算法来判断一个数是不是“快乐数”。一个“快乐数”定义为:对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和,然后重复这个过程直到这个数变为 1,也可能是无限循环但始终变不到 1。如果可以变为 1,那么这个数就是快乐数。示例:输入: 19输出: true解释:12 + 92 = 8282 + 22 = 6862 + 82...原创 2020-01-04 09:29:43 · 1558 阅读 · 0 评论 -
leetcode 203.移除链表元素
leetcode 203.移除链表元素题目描述删除链表中等于给定值 val 的所有节点。示例:输入: 1->2->6->3->4->5->6, val = 6输出: 1->2->3->4->5解题思路1.删除链表中节点的方法链表中可能包含多个val值,首先如果链表头等于val值得时候,直接是头结点向后移动一位,删除当前的...原创 2020-01-03 09:27:24 · 1537 阅读 · 1 评论 -
leetcode 167.两数之和 II - 输入有序数组
leetcode 167.两数之和 II - 输入有序数组题目描述给定一个已按照升序排列 的有序数组,找到两个数使得它们相加之和等于目标数。函数应该返回这两个下标值 index1 和 index2,其中 index1 必须小于 index2。说明:返回的下标值(index1 和 index2)不是从零开始的。你可以假设每个输入只对应唯一的答案,而且你不可以重复使用相同的元素。示例...原创 2020-01-03 09:16:19 · 1530 阅读 · 0 评论 -
leetcode 160.相交链表
leetcode 160.相交链表题目描述:编写一个程序,找到两个单链表相交的起始节点。如下面的两个链表:在节点 c1 开始相交。示例 1:输入:intersectVal = 8, listA = [4,1,8,4,5], listB = [5,0,1,8,4,5], skipA = 2, skipB = 3输出:Reference of the node with value ...原创 2020-01-02 20:33:33 · 1543 阅读 · 1 评论 -
leetcode 455. 分发饼干
leetcode 455. 分发饼干题目描述假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。对每个孩子 i ,都有一个胃口值 gi ,这是能让孩子们满足胃口的饼干的最小尺寸;并且每块饼干 j ,都有一个尺寸 sj 。如果 sj >= gi ,我们可以将这个饼干 j 分配给孩子 i ,这个孩子会得到满足。你的目标是尽可能满足越多数量的孩子,并输出这个最...原创 2019-12-31 10:00:39 · 1450 阅读 · 0 评论 -
leetcode 90.子集II
leetcode 90.子集II题目描述给定一个可能包含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集)。说明:解集不能包含重复的子集。示例:输入: [1,2,2]输出:[ [2], [1], [1,2,2], [2,2], [1,2], []]解题思路回溯算法:算法框架:递归出口条件筛选递归状态重置class Solut...原创 2019-12-30 14:55:03 · 1394 阅读 · 0 评论 -
leetcode 46.全排列
leetcode 46.全排列题目描述给定一个没有重复数字的序列,返回其所有可能的全排列。示例:输入: [1,2,3]输出:[ [1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], [3,2,1]]解题思路回溯法算法框架:递归出口目标条件筛选递归状态重置class Solution {public:...原创 2019-12-30 13:56:41 · 1409 阅读 · 0 评论 -
leetcode 78.子集
leetcode 78.子集题目描述给定一组不含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集)。说明: 解集不能包含重复的子集。示例:输入: nums = [1,2,3]输出:[ [3], [1], [2], [1,2,3], [1,3], [2,3], [1,2], []]解题思路回溯法解题算法框架:递归出口目标路径筛...原创 2019-12-23 22:01:32 · 1558 阅读 · 1 评论 -
leetcode 24.两两交换链表的结点
leetcode 24.两两交换链表的结点题目描述给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。示例:给定 1->2->3->4, 你应该返回 2->1->4->3.解题思路在反转链表的基础上,对节点进行计数,每两个节点记性一次反转,需要考虑的边界情况包括:链表是否为空,链...原创 2019-12-20 09:54:37 · 1249 阅读 · 0 评论 -
leetcode 861.翻转矩阵后的得分
leetcode 861.翻转矩阵后的得分题目描述有一个二维矩阵 A 其中每个元素的值为 0 或 1 。移动是指选择任一行或列,并转换该行或列中的每一个值:将所有 0 都更改为 1,将所有 1 都更改为 0。在做出任意次数的移动后,将该矩阵的每一行都按照二进制数来解释,矩阵的得分就是这些数字的总和。返回尽可能高的分数。示例:输入:[[0,0,1,1],[1,0,1,0],[1,1,0...原创 2019-12-19 19:08:02 · 1144 阅读 · 0 评论 -
leetcode 77.组合
leetcode 77.组合题目描述给定两个整数 n 和 k,返回 1 … n 中所有可能的 k 个数的组合。示例:输入: n = 4, k = 2输出:[ [2,4], [3,4], [2,3], [1,2], [1,3], [1,4],]解题思路回溯算法算法框架:递归出口目标组合探寻递归状态重置class Solution {pub...原创 2019-12-18 13:32:56 · 1185 阅读 · 0 评论 -
leetcode 18.四数之和
leetcode 18.四数之和题目描述给定一个包含 n 个整数的数组 nums 和一个目标值 target,判断 nums 中是否存在四个元素 a,b,c 和 d ,使得 a + b + c + d 的值与 target 相等?找出所有满足条件且不重复的四元组。注意:答案中不可以包含重复的四元组。示例:给定数组 nums = [1, 0, -1, 0, -2, 2],和 target...原创 2019-12-18 13:22:45 · 1452 阅读 · 0 评论 -
leetcode 15.三数之和
leetcode 15.三数之和题目描述给定一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?找出所有满足条件且不重复的三元组。注意: 答案中不可以包含重复的三元组。例如, 给定数组 nums = [-1, 0, 1, 2, -1, -4],满足要求的三元组集合为:[ [-1, 0, 1], [-1, -...原创 2019-12-17 10:28:52 · 854 阅读 · 0 评论 -
leetcode 39. 组合总和
leetcode 39. 组合总和题目描述给定一个无重复元素的数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。candidates 中的数字可以无限制重复被选取。说明:所有数字(包括 target)都是正整数。解集不能包含重复的组合。示例 1:输入: candidates = [2,3,6,7],...原创 2019-12-16 11:18:03 · 1076 阅读 · 0 评论 -
leetcode 17.电话号码的字母组合
leetcode 17.电话号码的字母组合题目描述给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。示例:输入:"23"输出:["ad", "ae", "af", "bd", "be", "bf", "cd", "ce", "cf"].说明:尽管上面的答案是按字典序排列的,但是你可以任意选择答...原创 2019-12-16 10:23:46 · 997 阅读 · 0 评论