05 2020 档案
摘要:现场还是想的太暴力了,枚举二进制值,BFS 不加 vis ,导致前面 T 了好几发。 5408.通过翻转子数组使两个数组相等 给你两个长度相同的整数数组 target 和 arr 。 每一步中,你可以选择 arr 的任意 非空子数组 并将它翻转。你可以执行此过程任意次。 如果你能让 arr 变得与
阅读全文
摘要:你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。 给定一个代表每个房屋存放金额的非负整数数组,计算你 不触动警报装置的情况下 ,一夜之内能够偷窃到的最高金额。 示例
阅读全文
摘要:给定一个整数数组 A,返回其中元素之和可被 K 整除的(连续、非空)子数组的数目。 示例: 输入:A = [4,5,0,-2,-3,1], K = 5 输出:7 解释: 有 7 个子数组满足其元素之和可被 K = 5 整除: [4, 5, 0, -2, -3, 1], [5], [5, 0], [5
阅读全文
摘要:给定一个包含 n + 1 个整数的数组 nums,其数字都在 1 到 n 之间(包括 1 和 n),可知至少存在一个重复的整数。假设只有一个重复的整数,找出这个重复的数。 示例 1: 输入: [1,3,4,2,2] 输出: 2 示例 2: 输入: [3,1,3,4,2] 输出: 3 说明: 不能更改
阅读全文
摘要:给定两个大小为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。 请你找出这两个正序数组的中位数,并且要求算法的时间复杂度为 O(log(m + n))。 你可以假设 nums1 和 nums2 不会同时为空。 示例 1: 则中位数是 2.0 示例 2: 则中位数是 (2 + 3)/
阅读全文
摘要:运用你所掌握的数据结构,设计和实现一个 LRU (最近最少使用) 缓存机制。它应该支持以下操作: 获取数据 get 和 写入数据 put 。 获取数据 get(key) - 如果密钥 (key) 存在于缓存中,则获取密钥的值(总是正数),否则返回 -1。 写入数据 put(key, value) -
阅读全文
摘要:根据一棵树的前序遍历与中序遍历构造二叉树。 注意: 你可以假设树中没有重复的元素。 例如,给出 返回如下的二叉树: 来源:力扣(LeetCode) 链接:https://leetcode cn.com/problems/construct binary tree from preorder and
阅读全文
摘要:原贴地址: "多线程的那点儿事" 多线程的那点儿事 优先级反转 优先级反转对于编写应用层的人员来说不大会发生,但是对于操作系统的设计者来说确是一个逃不过去的问题。要知道怎么样处理优先级反转?那么先看看它是怎么发生的。 (1)调度队列和线程优先级 在操作系统中,线程的状态有很多种。比如说,线程的状态可
阅读全文
摘要:给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。 示例 1: 输入: "babad" 输出: "bab" 注意: "aba" 也是一个有效答案。 示例 2: 输入: "cbbd" 输出: "bb" 来源:力扣(LeetCode) 链接:https://leet
阅读全文
摘要:给你一个字符串 s ,请你返回满足以下条件的最长子字符串的长度:每个元音字母,即 'a','e','i','o','u' ,在子字符串中都恰好出现了偶数次。 示例 1: 输入:s = "eleetminicoworoep" 输出:13 解释:最长子字符串是 "leetminicowor" ,它包含
阅读全文
摘要:给定一个非空字符串 s,最多删除一个字符。判断是否能成为回文字符串。 示例 1: 输入: "aba" 输出: True 示例 2: 输入: "abca" 输出: True 解释: 你可以删除c字符。 注意: 字符串只包含从 a z 的小写字母。字符串的最大长度是50000。 来源:力扣(LeetCo
阅读全文
摘要:给你一个整数数组 nums ,请你找出数组中乘积最大的连续子数组(该子数组中至少包含一个数字),并返回该子数组所对应的乘积。 示例 1: 输入: [2,3, 2,4] 输出: 6 解释: 子数组 [2,3] 有最大乘积 6。 示例 2: 输入: [ 2,0, 1] 输出: 0 解释: 结果不能为 2
阅读全文
摘要:现在你总共有 n 门课需要选,记为 0 到 n 1。 在选修某些课程之前需要一些先修课程。 例如,想要学习课程 0 ,你需要先完成课程 1 ,我们用一个匹配来表示他们: [0,1] 给定课程总量以及它们的先决条件,返回你为了学完所有课程所安排的学习顺序。 可能会有多个正确的顺序,你只要返回一种就可以
阅读全文
摘要:5396. 连续字符 5397. 最简分数 5398. 统计二叉树中好节点的数目 5399. 数位成本和为目标值的最大数字 5396. 连续字符 给你一个字符串 s ,字符串的「能量」定义为:只包含一种字符的最长非空子字符串的长度。 请你返回字符串的能量。 示例 1: 输入:s = "leetcod
阅读全文
摘要:给你一个链表,每 k 个节点一组进行翻转,请你返回翻转后的链表。 k 是一个正整数,它的值小于或等于链表的长度。 如果节点总数不是 k 的整数倍,那么请将最后剩余的节点保持原有顺序。 示例: 给你这个链表:1 2 3 4 5 当 k = 2 时,应当返回: 2 1 4 3 5 当 k = 3 时,应
阅读全文
摘要:给定一个整数数组和一个整数 k,你需要找到该数组中和为 k 的连续的子数组的个数。 示例 1 : 输入:nums = [1,1,1], k = 2 输出: 2 , [1,1] 与 [1,1] 为两种不同的情况。 说明 : 数组的长度为 [1,20,000] 。 数组中元素的范围是 $[ 100
阅读全文
摘要:给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。 说明: 你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗? 示例 1: 输入: [2,2,1] 输出: 1 示例 2: 输入: [4,1,2,1,2] 输出: 4 来源:力扣(Lee
阅读全文
摘要:给你一个二叉树,请你返回其按 层序遍历 得到的节点值。 (即逐层地,从左到右访问所有节点)。 示例: 二叉树:[3,9,20,null,null,15,7], 返回其层次遍历结果: 来源:力扣(LeetCode) 链接:https://leetcode cn.com/problems/binary
阅读全文
摘要:设计一个支持 , , 操作,并能在常数时间内检索到最小元素的栈。 —— 将元素 x 推入栈中。 —— 删除栈顶的元素。 —— 获取栈顶元素。 —— 检索栈中的最小元素。 示例: 提示: pop、top 和 getMin 操作总是在 非空栈 上调用。 来源:力扣(LeetCode) 链接:https:
阅读全文
摘要:实现 pow(x, n) ,即计算 x 的 n 次幂函数。 示例 1: 输入: 2.00000, 10 输出: 1024.00000 示例 2: 输入: 2.10000, 3 输出: 9.26100 示例 3: 输入: 2.00000, 2 输出: 0.25000 解释: 2 2 = 1/22 =
阅读全文
摘要:在一个由 0 和 1 组成的二维矩阵内,找到只包含 1 的最大正方形,并返回其面积。 示例: 输入: 输出: 来源:力扣(LeetCode) 链接:https://leetcode cn.com/problems/maximal square 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载
阅读全文
摘要:给定两个非空二叉树 s 和 t,检验 s 中是否包含和 t 具有相同结构和节点值的子树。s 的一个子树包括 s 的一个节点和这个节点的所有子孙。s 也可以看做它自身的一棵子树。 来源:力扣(LeetCode) 链接:https://leetcode cn.com/problems/subtree o
阅读全文