随笔分类 -  LeetCode

摘要:你和一群强盗准备打劫银行。给你一个下标从 0 开始的整数数组 security ,其中 security[i] 是第 i 天执勤警卫的数量。日子从 0 开始编号。同时给你一个整数 time 。 如果第 i 天满足以下所有条件,我们称它为一个适合打劫银行的日子: 第 i 天前和后都分别至少有 time 阅读全文
posted @ 2022-03-06 10:25 小Aer 阅读(11) 评论(0) 推荐(0) 编辑
摘要:给你两个字符串 a 和 b,请返回 这两个字符串中 最长的特殊序列 。如果不存在,则返回 -1 。 「最长特殊序列」 定义如下:该序列为 某字符串独有的最长子序列(即不能是其他字符串的子序列) 。 字符串 s 的子序列是在从 s 中删除任意数量的字符后可以获得的字符串。 例如,“abc” 是 “ae 阅读全文
posted @ 2022-03-05 09:30 小Aer 阅读(3) 评论(0) 推荐(0) 编辑
摘要:请实现一个函数,把字符串 s 中的每个空格替换成"%20"。 思路: 循环判断 class Solution: def replaceSpace(self, s: str) -> str: s1 = '' for i in s: if i == ' ': s1 += '%20' else: s1 + 阅读全文
posted @ 2022-03-04 10:13 小Aer 阅读(3) 评论(0) 推荐(0) 编辑
摘要:给定一个非负整数 num,反复将各个位上的数字相加,直到结果为一位数。返回这个结果。 将每一位进行相加,判断是否是一个数字,不是就继续做相加,这样会有两个循环,耗费时间,是比较简单的思路,需要继续优化。 class Solution: def addDigits(self, num: int) -> 阅读全文
posted @ 2022-03-03 08:48 小Aer 阅读(3) 评论(0) 推荐(0) 编辑
摘要:给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2,另有两个整数 m 和 n ,分别表示 nums1 和 nums2 中的元素数目。 请你 合并 nums2 到 nums1 中,使合并后的数组同样按 非递减顺序 排列。 注意:最终,合并后数组不应由函数返回,而是存储在数组 nums1 阅读全文
posted @ 2022-03-02 09:02 小Aer 阅读(13) 评论(0) 推荐(0) 编辑
摘要:实现 int sqrt(int x) 函数。 计算并返回 x 的平方根,其中 x 是非负整数。 由于返回类型是整数,结果只保留整数的部分,小数部分将被舍去。 class Solution: def mySqrt(self, x: int) -> int: return int(sqrt(x)) 怎么 阅读全文
posted @ 2021-08-15 19:37 小Aer 阅读(3) 评论(0) 推荐(0) 编辑
摘要:如果一个数列 至少有三个元素 ,并且任意两个相邻元素之差相同,则称该数列为等差数列。 例如,[1,3,5,7,9]、[7,7,7,7] 和 [3,-1,-5,-9] 都是等差数列。 给你一个整数数组 nums ,返回数组 nums 中所有为等差数组的 子数组 个数。 子数组 是数组中的一个连续序列。 阅读全文
posted @ 2021-08-10 11:14 小Aer 阅读(4) 评论(0) 推荐(0) 编辑
摘要:存在一个由 n 个节点组成的无向连通图,图中的节点按从 0 到 n - 1 编号。 给你一个数组 graph 表示这个图。其中,graph[i] 是一个列表,由所有与节点 i 直接相连的节点组成。 返回能够访问所有节点的最短路径的长度。你可以在任一节点开始和停止,也可以多次重访节点,并且可以重用边。 阅读全文
posted @ 2021-08-06 10:48 小Aer 阅读(6) 评论(0) 推荐(0) 编辑
摘要:在有向图中,以某个节点为起始节点,从该点出发,每一步沿着图中的一条有向边行走。如果到达的节点是终点(即它没有连出的有向边),则停止。 对于一个起始节点,如果从该节点出发,无论每一步选择沿哪条有向边行走,最后必然在有限步内到达终点,则将该起始节点称作是 安全 的。 返回一个由图中所有安全的起始节点组成 阅读全文
posted @ 2021-08-05 10:48 小Aer 阅读(2) 评论(0) 推荐(0) 编辑
摘要:给定一个包含非负整数的数组,你的任务是统计其中可以组成三角形三条边的三元组个数。 补充知识:构成三角形的条件:任意两条边的和大于第三边; 特殊情况:比如a>b>c,将数组排序之后,只需要满足a+b>c就可以,因为a+c>b,b+c>a一定成立 方法1使用两个循环进行两条边的判断,内层使用二分查找,寻 阅读全文
posted @ 2021-08-04 12:21 小Aer 阅读(9) 评论(0) 推荐(0) 编辑
摘要:给你一个整数数组 nums ,你需要找出一个 连续子数组 ,如果对这个子数组进行升序排序,那么整个数组都会变为升序排序。 请你找出符合题意的 最短 子数组,并输出它的长度。 思路:双指针方法,从左右进行搜索 class Solution: def findUnsortedSubarray(self, 阅读全文
posted @ 2021-08-03 15:40 小Aer 阅读(2) 评论(0) 推荐(0) 编辑
摘要:给你一个大小为 m * n 的矩阵 mat,矩阵由若干军人和平民组成,分别用 1 和 0 表示。 请你返回矩阵中战斗力最弱的 k 行的索引,按从最弱到最强排序。 如果第 i 行的军人数量少于第 j 行,或者两行军人数量相同但 i 小于 j,那么我们认为第 i 行的战斗力比第 j 行弱。 军人 总是 阅读全文
posted @ 2021-08-01 09:50 小Aer 阅读(3) 评论(0) 推荐(0) 编辑
摘要:给你一个字符串 columnTitle ,表示 Excel 表格中的列名称。返回该列名称对应的列序号。 主要用到了ord函数 描述 ord() 函数是 chr() 函数(对于8位的ASCII字符串)或 unichr() 函数(对于Unicode对象)的配对函数,它以一个字符(长度为1的字符串)作为参 阅读全文
posted @ 2021-07-30 10:40 小Aer 阅读(5) 评论(0) 推荐(0) 编辑
摘要:给你两个二进制字符串,返回它们的和(用二进制表示)。 输入为 非空 字符串且只包含数字 1 和 0。 两种方法: 方法1: 二进制转十进制求和之后,转二进制输出 class Solution: def addBinary(self, a: str, b: str) -> str: la = list 阅读全文
posted @ 2021-07-27 13:05 小Aer 阅读(5) 评论(0) 推荐(0) 编辑
摘要:给定一个非空特殊的二叉树,每个节点都是正数,并且每个节点的子节点数量只能为 2 或 0。如果一个节点有两个子节点的话,那么该节点的值等于两个子节点中较小的一个。 更正式地说,root.val = min(root.left.val, root.right.val) 总成立。 给出这样的一个二叉树,你 阅读全文
posted @ 2021-07-27 10:48 小Aer 阅读(2) 评论(0) 推荐(0) 编辑
摘要:给你一个数组 target ,包含若干 互不相同 的整数,以及另一个整数数组 arr ,arr 可能 包含重复元素。 每一次操作中,你可以在 arr 的任意位置插入任一整数。比方说,如果 arr = [1,4,1,2] ,那么你可以在中间添加 3 得到 [1,4,3,1,2] 。你可以在数组最开始或 阅读全文
posted @ 2021-07-26 11:13 小Aer 阅读(4) 评论(0) 推荐(0) 编辑
摘要:给定一个由 整数 组成的 非空 数组所表示的非负整数,在该数的基础上加一。 最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。 你可以假设除了整数 0 之外,这个整数不会以零开头。 class Solution: def plusOne(self, digits: List[int]) - 阅读全文
posted @ 2021-07-26 09:06 小Aer 阅读(3) 评论(0) 推荐(0) 编辑
摘要:存在一个由 n 个不同元素组成的整数数组 nums ,但你已经记不清具体内容。好在你还记得 nums 中的每一对相邻元素。 给你一个二维整数数组 adjacentPairs ,大小为 n - 1 ,其中每个 adjacentPairs[i] = [ui, vi] 表示元素 ui 和 vi 在 num 阅读全文
posted @ 2021-07-25 10:34 小Aer 阅读(2) 评论(0) 推荐(0) 编辑
摘要:给你一个字符串 s,由若干单词组成,单词之间用单个或多个连续的空格字符隔开。返回字符串中最后一个单词的长度。如果不存在最后一个单词,请返回 0 。 单词 是指仅由字母组成、不包含任何空格字符的最大子字符串。 很简单吧 class Solution: def lengthOfLastWord(self 阅读全文
posted @ 2021-07-24 12:29 小Aer 阅读(4) 评论(0) 推荐(0) 编辑
摘要:给你一个字符串 time ,格式为 hh:mm(小时:分钟),其中某几位数字被隐藏(用 ? 表示)。 有效的时间为 00:00 到 23:59 之间的所有时间,包括 00:00 和 23:59 。 替换 time 中隐藏的数字,返回你可以得到的最晚有效时间。 tips:考虑所有情况就好了 class 阅读全文
posted @ 2021-07-24 10:28 小Aer 阅读(3) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示