leecode刷题记录
leecode刷题记录
怎么又有bug单
走走停停
展开
-
java算法题:五键键盘 求连续子区间的和
算法题原创 2023-01-07 10:25:55 · 751 阅读 · 0 评论 -
Leecode 刷题记录 面试题32 - I. 从上到下打印二叉树
文章目录topicanswertopic从上到下打印出二叉树的每个节点,同一层的节点按照从左到右的顺序打印。例如:给定二叉树: [3,9,20,null,null,15,7],3/ 9 20/ 15 7返回:[3,9,20,15,7]提示:节点总数 <= 1000answer/** * Definition for a binary tree node. * public class TreeNode { * int val; * Tre原创 2022-02-13 10:05:49 · 81 阅读 · 0 评论 -
Leecode 刷题记录 面试题 17.16. 按摩师
文章目录topicanswertopic一个有名的按摩师会收到源源不断的预约请求,每个预约都可以选择接或不接。在每次预约服务之间要有休息时间,因此她不能接受相邻的预约。给定一个预约请求序列,替按摩师找到最优的预约集合(总预约时间最长),返回总的分钟数。注意:本题相对原题稍作改动示例 1:输入: [1,2,3,1]输出: 4解释: 选择 1 号预约和 3 号预约,总时长 = 1 + 3 = 4。示例 2:输入: [2,7,9,3,1]输出: 12解释: 选择 1 号预约、 3 号预约和原创 2022-02-13 10:05:59 · 84 阅读 · 0 评论 -
Leecode 刷题记录 面试题 01.02. 判定是否互为字符重排
文章目录topicanswertopic给定两个字符串 s1 和 s2,请编写一个程序,确定其中一个字符串的字符重新排列后,能否变成另一个字符串。示例 1:输入: s1 = “abc”, s2 = “bca”输出: true示例 2:输入: s1 = “abc”, s2 = “bad”输出: false说明:0 <= len(s1) <= 1000 <= len(s2) <= 100answerclass Solution { public bool原创 2022-02-13 10:06:08 · 157 阅读 · 0 评论 -
Leecode 刷题记录 剑指 Offer 58 - II. 左旋转字符串
文章目录topicanswertopic字符串的左旋转操作是把字符串前面的若干个字符转移到字符串的尾部。请定义一个函数实现字符串左旋转操作的功能。比如,输入字符串"abcdefg"和数字2,该函数将返回左旋转两位得到的结果"cdefgab"。示例 1:输入: s = “abcdefg”, k = 2输出: “cdefgab”示例 2:输入: s = “lrloseumgh”, k = 6输出: “umghlrlose”限制:1 <= k < s.length <= 10原创 2022-02-13 10:06:26 · 94 阅读 · 0 评论 -
Leecode 刷题记录 剑指 Offer 56 - II. 数组中数字出现的次数 II
文章目录topicanswertopic在一个数组 nums 中除一个数字只出现一次之外,其他数字都出现了三次。请找出那个只出现一次的数字。示例 1:输入:nums = [3,4,3,3]输出:4示例 2:输入:nums = [9,1,7,9,7,9,7]输出:1限制:1 <= nums.length <= 100001 <= nums[i] < 2^31answerclass Solution { public int singleNumber(i原创 2022-02-13 10:06:45 · 132 阅读 · 0 评论 -
Leecode 刷题记录 剑指 Offer 44. 数字序列中某一位的数字
文章目录topicanswertopic数字以0123456789101112131415…的格式序列化到一个字符序列中。在这个序列中,第5位(从下标0开始计数)是5,第13位是1,第19位是4,等等。请写一个函数,求任意第n位对应的数字。示例 1:输入:n = 3输出:3示例 2:输入:n = 11输出:0限制:0 <= n < 2^31answerclass Solution { public int findNthDigit(int n) {原创 2022-02-13 10:06:57 · 102 阅读 · 0 评论 -
Leecode 刷题记录 剑指 Offer 43. 1~n 整数中 1 出现的次数
文章目录topicanswertopic输入一个整数 n ,求1~n这n个整数的十进制表示中1出现的次数。例如,输入12,1~12这些整数中包含1 的数字有1、10、11和12,1一共出现了5次。示例 1:输入:n = 12输出:5示例 2:输入:n = 13输出:6限制:1 <= n < 2^31answerclass Solution { public static int countDigitOne(int n) { int digit原创 2022-02-13 10:07:05 · 174 阅读 · 0 评论 -
Leecode 刷题记录 剑指 Offer 11. 旋转数组的最小数字
文章目录topicanswertopic把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。给你一个可能存在 重复 元素值的数组 numbers ,它原来是一个升序排列的数组,并按上述情形进行了一次旋转。请返回旋转数组的最小元素。例如,数组 [3,4,5,1,2] 为 [1,2,3,4,5] 的一次旋转,该数组的最小值为1。示例 1:输入:[3,4,5,1,2]输出:1示例 2:输入:[2,2,2,0,1]输出:0answerclass Solution { pu原创 2022-02-13 10:07:25 · 91 阅读 · 0 评论 -
Leecode 刷题记录 LCP 18 早餐组合
文章目录topicanswertopic小扣在秋日市集选择了一家早餐摊位,一维整型数组 staple 中记录了每种主食的价格,一维整型数组 drinks 中记录了每种饮料的价格。小扣的计划选择一份主食和一款饮料,且花费不超过 x 元。请返回小扣共有多少种购买方案。注意:答案需要以 1e9 + 7 (1000000007) 为底取模,如:计算初始结果为:1000000008,请返回 1示例 1:输入:staple = [10,20,5], drinks = [5,5,2], x = 15输出:6原创 2022-02-14 21:47:57 · 139 阅读 · 0 评论 -
Leecode 刷题记录 1567 乘积为正数的最长子数组长度
文章目录topicanswertopic给你一个整数数组 nums ,请你求出乘积为正数的最长子数组的长度。一个数组的子数组是由原数组中零个或者更多个连续数字组成的数组。请你返回乘积为正数的最长子数组长度。示例 1:输入:nums = [1,-2,-3,4]输出:4解释:数组本身乘积就是正数,值为 24 。示例 2:输入:nums = [0,1,-2,-3,-4]输出:3解释:最长乘积为正数的子数组为 [1,-2,-3] ,乘积为 6 。注意,我们不能把 0 也包括到子数组中,因原创 2022-02-14 21:48:07 · 94 阅读 · 0 评论 -
Leecode 刷题记录 1525 字符串的好分割数目
文章目录topicanswertopic给你一个字符串 s ,一个分割被称为 「好分割」 当它满足:将 s 分割成 2 个字符串 p 和 q ,它们连接起来等于 s 且 p 和 q 中不同字符的数目相同。请你返回 s 中好分割的数目。示例 1:输入:s = “aacaba”输出:2解释:总共有 5 种分割字符串 “aacaba” 的方法,其中 2 种是好分割。(“a”, “acaba”) 左边字符串和右边字符串分别包含 1 个和 3 个不同的字符。(“aa”, “caba”) 左边字符串和原创 2022-02-15 19:29:48 · 79 阅读 · 0 评论 -
Leecode 刷题记录 1351 统计有序矩阵中的负数
文章目录topicanswertopic给你一个 m * n 的矩阵 grid,矩阵中的元素无论是按行还是按列,都以非递增顺序排列。请你统计并返回 grid 中 负数 的数目。示例 1:输入:grid = [[4,3,2,-1],[3,2,1,-1],[1,1,-1,-2],[-1,-1,-2,-3]]输出:8解释:矩阵中共有 8 个负数。示例 2:输入:grid = [[3,2],[1,0]]输出:0示例 3:输入:grid = [[1,-1],[-1,-1]]输出:3示例 4原创 2022-02-15 19:30:01 · 100 阅读 · 0 评论 -
Leecode 刷题记录 1332 删除回文子序列
文章目录topicanswertopic给你一个字符串 s,它仅由字母 ‘a’ 和 ‘b’ 组成。每一次删除操作都可以从 s 中删除一个回文 子序列。返回删除给定字符串中所有字符(字符串为空)的最小删除次数。「子序列」定义:如果一个字符串可以通过删除原字符串某些字符而不改变原字符顺序得到,那么这个字符串就是原字符串的一个子序列。「回文」定义:如果一个字符串向后和向前读是一致的,那么这个字符串就是一个回文。示例 1:输入:s = “ababa”输出:1解释:字符串本身就是回文序列,只需要删除原创 2022-02-15 19:30:12 · 82 阅读 · 0 评论 -
Leecode 刷题记录 1310 子数组异或查询
文章目录topicanswertopic有一个正整数数组 arr,现给你一个对应的查询数组 queries,其中 queries[i] = [Li, Ri]。对于每个查询 i,请你计算从 Li 到 Ri 的 XOR 值(即 arr[Li] xor arr[Li+1] xor … xor arr[Ri])作为本次查询的结果。并返回一个包含给定查询 queries 所有结果的数组。示例 1:输入:arr = [1,3,4,8], queries = [[0,1],[1,2],[0,3],[3,3]]原创 2022-02-15 19:30:22 · 69 阅读 · 0 评论 -
Leecode 刷题记录 1290 二进制链表转整数
文章目录topicanswertopic给你一个单链表的引用结点 head。链表中每个结点的值不是 0 就是 1。已知此链表是一个整数数字的二进制表示形式。请你返回该链表所表示数字的 十进制值 。示例 1:输入:head = [1,0,1]输出:5解释:二进制数 (101) 转化为十进制数 (5)示例 2:输入:head = [0]输出:0示例 3:输入:head = [1]输出:1示例 4:输入:head = [1,0,0,1,0,0,1,1,1,0,0,0,0,0,0]原创 2022-02-18 22:45:20 · 105 阅读 · 0 评论 -
Leecode 刷题记录 1217 玩筹码
文章目录topicanswertopic有 n 个筹码。第 i 个芯片的位置是 position[i] 。我们需要把所有筹码移到同一个位置。在一步中,我们可以将第 i 个芯片的位置从 position[i] 改变为:position[i] + 2 或 position[i] - 2 ,此时 cost = 0position[i] + 1 或 position[i] - 1 ,此时 cost = 1返回将所有筹码移动到同一位置上所需要的 最小代价 。示例 1:输入:position = [1原创 2022-02-16 20:59:48 · 127 阅读 · 0 评论 -
Leecode 刷题记录 1207 独一无二的出现次数
文章目录topicanswertopic给你一个整数数组 arr,请你帮忙统计数组中每个数的出现次数。如果每个数的出现次数都是独一无二的,就返回 true;否则返回 false。示例 1:输入:arr = [1,2,2,1,1,3]输出:true解释:在该数组中,1 出现了 3 次,2 出现了 2 次,3 只出现了 1 次。没有两个数的出现次数相同。示例 2:输入:arr = [1,2]输出:false示例 3:输入:arr = [-3,0,1,-3,1,1,1,-3,10,0]输原创 2022-02-16 20:59:35 · 73 阅读 · 0 评论 -
Leecode 刷题记录 1206 设计跳表
文章目录topicanswertopic不使用任何库函数,设计一个 跳表 。跳表 是在 O(log(n)) 时间内完成增加、删除、搜索操作的数据结构。跳表相比于树堆与红黑树,其功能与性能相当,并且跳表的代码长度相较下更短,其设计思想与链表相似。例如,一个跳表包含 [30, 40, 50, 60, 70, 90] ,然后增加 80、45 到跳表中,以下图的方式操作:Artyom Kalinin [CC BY-SA 3.0], via Wikimedia Commons跳表中有很多层,每一层是一个原创 2022-02-16 21:00:06 · 271 阅读 · 0 评论 -
Leecode 刷题记录 1124 表现良好的最长时间段
文章目录topicanswertopic给你一份工作时间表 hours,上面记录着某一位员工每天的工作小时数。我们认为当员工一天中的工作小时数大于 8 小时的时候,那么这一天就是「劳累的一天」。所谓「表现良好的时间段」,意味在这段时间内,「劳累的天数」是严格 大于「不劳累的天数」。请你返回「表现良好时间段」的最大长度。示例 1:输入:hours = [9,9,6,0,6,6,9]输出:3解释:最长的表现良好时间段是 [9,9,6]。示例 2:输入:hours = [6,6,6]输出:原创 2022-02-12 12:03:41 · 103 阅读 · 0 评论 -
Leecode 刷题记录 821 字符的最短距离
文章目录topicanswertopic给你一个字符串 s 和一个字符 c ,且 c 是 s 中出现过的字符。返回一个整数数组 answer ,其中 answer.length == s.length 且 answer[i] 是 s 中从下标 i 到离它 最近 的字符 c 的 距离 。两个下标 i 和 j 之间的 距离 为 abs(i - j) ,其中 abs 是绝对值函数。示例 1:输入:s = “loveleetcode”, c = “e”输出:[3,2,1,0,1,0,0,1,2,2,1原创 2022-02-12 11:35:14 · 266 阅读 · 0 评论 -
Leecode 刷题记录 817 链表组件
文章目录topicanswertopic给定链表头结点 head,该链表上的每个结点都有一个 唯一的整型值 。同时给定列表 nums,该列表是上述链表中整型值的一个子集。返回列表 nums 中组件的个数,这里对组件的定义为:链表中一段最长连续结点的值(该值必须在列表 nums 中)构成的集合。示例 1:输入: head = [0,1,2,3], nums = [0,1,3]输出: 2解释: 链表中,0 和 1 是相连接的,且 nums 中不包含 2,所以 [0, 1] 是 nums 的一个组原创 2022-02-12 11:33:05 · 698 阅读 · 0 评论 -
Leecode 刷题记录 762 二进制表示中质数个计算置位
文章目录topicanswertopic给定两个整数 L 和 R ,找到闭区间 [L, R] 范围内,计算置位位数为质数的整数个数。(注意,计算置位代表二进制表示中1的个数。例如 21 的二进制表示 10101 有 3 个计算置位。还有,1 不是质数。)示例 1:输入: L = 6, R = 10输出: 4解释:6 -> 110 (2 个计算置位,2 是质数)7 -> 111 (3 个计算置位,3 是质数)9 -> 1001 (2 个计算置位,2 是质数)10->原创 2022-02-12 11:31:44 · 2019 阅读 · 0 评论 -
Leecode 刷题记录 718 最长重复子数组
文章目录topicanswertopic给两个整数数组 nums1 和 nums2 ,返回 两个数组中 公共的 、长度最长的子数组的长度 。示例 1:输入:nums1 = [1,2,3,2,1], nums2 = [3,2,1,4,7]输出:3解释:长度最长的公共子数组是 [3,2,1] 。示例 2:输入:nums1 = [0,0,0,0,0], nums2 = [0,0,0,0,0]输出:5提示:1 <= nums1.length, nums2.length <= 100原创 2022-02-12 11:30:41 · 234 阅读 · 0 评论 -
Leecode 刷题记录 696 计数二进制子串
文章目录topicanswertopic给定一个字符串 s,统计并返回具有相同数量 0 和 1 的非空(连续)子字符串的数量,并且这些子字符串中的所有 0 和所有 1 都是成组连续的。重复出现(不同位置)的子串也要统计它们出现的次数。示例 1:输入:s = “00110011”输出:6解释:6 个子串满足具有相同数量的连续 1 和 0 :“0011”、“01”、“1100”、“10”、“0011” 和 “01” 。注意,一些重复出现的子串(不同位置)要统计它们出现的次数。另外,“00110原创 2022-02-12 11:29:42 · 102 阅读 · 0 评论 -
Leecode 刷题记录 680 验证回文字符串 Ⅱ
文章目录topicanswertopic给定一个非空字符串 s,最多删除一个字符。判断是否能成为回文字符串。示例 1:输入: s = “aba”输出: true示例 2:输入: s = “abca”输出: true解释: 你可以删除c字符。示例 3:输入: s = “abc”输出: false提示:1 <= s.length <= 105s 由小写英文字母组成answerclass Solution { public boolean validPalin原创 2022-02-12 11:28:31 · 259 阅读 · 0 评论 -
Leecode 刷题记录 605 种花问题
文章目录topicanswertopic假设有一个很长的花坛,一部分地块种植了花,另一部分却没有。可是,花不能种植在相邻的地块上,它们会争夺水源,两者都会死去。给你一个整数数组 flowerbed 表示花坛,由若干 0 和 1 组成,其中 0 表示没种植花,1 表示种植了花。另有一个数 n ,能否在不打破种植规则的情况下种入 n 朵花?能则返回 true ,不能则返回 false。示例 1:输入:flowerbed = [1,0,0,0,1], n = 1输出:true示例 2:输入:fl原创 2022-02-12 11:27:27 · 86 阅读 · 0 评论 -
Leecode 刷题记录 513 找树左下角的值
文章目录topicanswertopic给定一个二叉树的 根节点 root,请找出该二叉树的 最底层 最左边 节点的值。假设二叉树中至少有一个节点。示例 1:输入: root = [2,1,3]输出: 1示例 2:输入: [1,2,3,4,null,5,6,null,null,7]输出: 7提示:二叉树的节点个数的范围是 [1,104]-231 <= Node.val <= 231 - 1answer/** * Definition for a binary t原创 2022-02-12 11:26:27 · 252 阅读 · 0 评论 -
Leecode 刷题记录 513 找树左下角的值
文章目录topicanswertopic给定一个二叉树的 根节点 root,请找出该二叉树的 最底层 最左边 节点的值。假设二叉树中至少有一个节点。示例 1:输入: root = [2,1,3]输出: 1示例 2:输入: [1,2,3,4,null,5,6,null,null,7]输出: 7提示:二叉树的节点个数的范围是 [1,104]-231 <= Node.val <= 231 - 1answer/** * Definition for a binary t原创 2022-02-18 22:45:28 · 118 阅读 · 0 评论 -
Leecode 刷题记录 507 完美数
文章目录topicanswertopic对于一个 正整数,如果它和除了它自身以外的所有 正因子 之和相等,我们称它为 「完美数」。给定一个 整数 n, 如果是完美数,返回 true;否则返回 false。示例 1:输入:num = 28输出:true解释:28 = 1 + 2 + 4 + 7 + 141, 2, 4, 7, 和 14 是 28 的所有正因子。示例 2:输入:num = 7输出:true提示:1 <= num <= 108answerclass Sol原创 2022-02-11 22:29:51 · 187 阅读 · 0 评论 -
Leecode 刷题记录 495 提莫攻击
文章目录topicanswertopic在《英雄联盟》的世界中,有一个叫 “提莫” 的英雄。他的攻击可以让敌方英雄艾希(编者注:寒冰射手)进入中毒状态。当提莫攻击艾希,艾希的中毒状态正好持续 duration 秒。正式地讲,提莫在 t 发起发起攻击意味着艾希在时间区间 [t, t + duration - 1](含 t 和 t + duration - 1)处于中毒状态。如果提莫在中毒影响结束 前 再次攻击,中毒状态计时器将会 重置 ,在新的攻击之后,中毒影响将会在 duration 秒后结束。给原创 2022-02-11 22:28:50 · 91 阅读 · 0 评论 -
Leecode 刷题记录 461 汉明距离
文章目录topicanswertopic两个整数之间的 汉明距离 指的是这两个数字对应二进制位不同的位置的数目。给你两个整数 x 和 y,计算并返回它们之间的汉明距离。示例 1:输入:x = 1, y = 4输出:2解释:1 (0 0 0 1)4 (0 1 0 0)↑ ↑上面的箭头指出了对应二进制位不同的位置。示例 2:输入:x = 3, y = 1输出:1提示:0 <= x, y <= 231 - 1answerclass Solution {原创 2022-02-11 22:27:42 · 103 阅读 · 0 评论 -
Leecode 刷题记录 378 有序矩阵中第 K 小的元素
文章目录topicanswertopic给你一个 n x n 矩阵 matrix ,其中每行和每列元素均按升序排序,找到矩阵中第 k 小的元素。请注意,它是 排序后 的第 k 小元素,而不是第 k 个 不同 的元素。示例 1:输入:matrix = [[1,5,9],[10,11,13],[12,13,15]], k = 8输出:13解释:矩阵中的元素为 [1,5,9,10,11,12,13,13,15],第 8 小元素是 13示例 2:输入:matrix = [[-5]], k = 1原创 2022-02-11 22:26:02 · 184 阅读 · 0 评论 -
Leecode 刷题记录 343 整数拆分
文章目录topicanswertopic给定一个正整数 n ,将其拆分为 k 个 正整数 的和( k >= 2 ),并使这些整数的乘积最大化。返回 你可以获得的最大乘积 。示例 1:输入: n = 2输出: 1解释: 2 = 1 + 1, 1 × 1 = 1。示例 2:输入: n = 10输出: 36解释: 10 = 3 + 3 + 4, 3 × 3 × 4 = 36。提示:2 <= n <= 58answerclass Solution { HashM原创 2022-02-11 22:24:55 · 109 阅读 · 0 评论 -
Leecode 刷题记录 268 丢失的数字
文章目录topicanswertopic给定一个包含 [0, n] 中 n 个数的数组 nums ,找出 [0, n] 这个范围内没有出现在数组中的那个数。示例 1:输入:nums = [3,0,1]输出:2解释:n = 3,因为有 3 个数字,所以所有的数字都在范围 [0,3] 内。2 是丢失的数字,因为它没有出现在 nums 中。示例 2:输入:nums = [0,1]输出:2解释:n = 2,因为有 2 个数字,所以所有的数字都在范围 [0,2] 内。2 是丢失的数字,因为它没有出原创 2022-02-11 22:23:34 · 80 阅读 · 0 评论 -
Leecode 刷题记录 263 丑数
文章目录topicanswertopic给你一个整数 n ,请你判断 n 是否为 丑数 。如果是,返回 true ;否则,返回 false 。丑数 就是只包含质因数 2、3 和/或 5 的正整数。示例 1:输入:n = 6输出:true解释:6 = 2 × 3示例 2:输入:n = 8输出:true解释:8 = 2 × 2 × 2示例 3:输入:n = 14输出:false解释:14 不是丑数,因为它包含了另外一个质因数 7 。示例 4:输入:n = 1输出:true解原创 2022-02-11 22:22:15 · 178 阅读 · 0 评论 -
Leecode 刷题记录 241 为运算表达式设计优先级
文章目录topicanswertopic给你一个由数字和运算符组成的字符串 expression ,按不同优先级组合数字和运算符,计算并返回所有可能组合的结果。你可以 按任意顺序 返回答案。示例 1:输入:expression = “2-1-1”输出:[0,2]解释:((2-1)-1) = 0(2-(1-1)) = 2示例 2:输入:expression = “23-45”输出:[-34,-14,-10,-10,10]解释:(2*(3-(45))) = -34((23)-(45)原创 2022-02-11 22:19:57 · 5446 阅读 · 0 评论 -
Leecode 刷题记录 217 存在重复元素
文章目录topicanswertopic给你一个整数数组 nums 。如果任一值在数组中出现 至少两次 ,返回 true ;如果数组中每个元素互不相同,返回 false 。示例 1:输入:nums = [1,2,3,1]输出:true示例 2:输入:nums = [1,2,3,4]输出:false示例 3:输入:nums = [1,1,1,3,3,4,3,2,4,2]输出:true提示:1 <= nums.length <= 105-109 <= nums[i]原创 2022-02-11 22:18:43 · 123 阅读 · 0 评论 -
Leecode 刷题记录 175 组合两个表
文章目录topicanswertopic表1: Person±------------±--------+| 列名 | 类型 |±------------±--------+| PersonId | int || FirstName | varchar || LastName | varchar |±------------±--------+PersonId 是上表主键表2: Address±------------±--------原创 2022-02-11 22:16:59 · 194 阅读 · 0 评论 -
Leecode 刷题记录 155 最小栈
文章目录题目题解题目设计一个支持 push ,pop ,top 操作,并能在常数时间内检索到最小元素的栈。push(x) —— 将元素 x 推入栈中。pop() —— 删除栈顶的元素。top() —— 获取栈顶元素。getMin() —— 检索栈中的最小元素。示例:输入:[“MinStack”,“push”,“push”,“push”,“getMin”,“pop”,“top”,“getMin”][[],[-2],[0],[-3],[],[],[],[]]输出:[null,null,n原创 2022-02-10 22:24:50 · 95 阅读 · 0 评论