随笔分类 -  leetcode刷题

摘要:给定一个整数数组和一个整数 k,你需要找到该数组中和为 k 的连续的子数组的个数。 示例 : 输入:nums = [1,1,1], k = 2输出: 2 , [1,1] 与 [1,1] 为两种不同的情况。 思路1:字典记录前缀和 class Solution: def subarraySum(sel 阅读全文
posted @ 2020-05-15 10:00 USTC丶ZCC 阅读(182) 评论(0) 推荐(0)
摘要:给定N个人的出生年份和死亡年份,第i个人的出生年份为birth[i],死亡年份为death[i],实现一个方法以计算生存人数最多的年份。 你可以假设所有人都出生于1900年至2000年(含1900和2000)之间。如果一个人在某一年的任意时期都处于生存状态,那么他们应该被纳入那一年的统计中。例如,生 阅读全文
posted @ 2020-05-14 10:03 USTC丶ZCC 阅读(1309) 评论(0) 推荐(0)
摘要:给你一个长度为 n 的整数数组 nums,其中 n > 1,返回输出数组 output ,其中 output[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积。 示例: 输入: [1,2,3,4]输出: [24,12,8,6] 提示:题目数据保证数组之中任意元素的全部前缀元素和后缀( 阅读全文
posted @ 2020-05-13 21:09 USTC丶ZCC 阅读(178) 评论(0) 推荐(0)
摘要:题目描述:给定一个整数数组 a,其中1 ≤ a[i] ≤ n (n为数组长度), 其中有些元素出现两次而其他元素出现一次。找到所有出现两次的元素。你可以不用到任何额外空间并在O(n)时间复杂度内解决这个问题吗? 示例: 输入:[4,3,2,7,8,2,3,1] 输出:[2,3] 思路1:这个题目开头 阅读全文
posted @ 2020-05-13 10:51 USTC丶ZCC 阅读(138) 评论(0) 推荐(0)
摘要:n 名士兵站成一排。每个士兵都有一个 独一无二 的评分 rating 。 每 3 个士兵可以组成一个作战单位,分组规则如下: 从队伍中选出下标分别为 i、j、k 的 3 名士兵,他们的评分分别为 rating[i]、rating[j]、rating[k] 作战单位需满足: rating[i] < r 阅读全文
posted @ 2020-05-12 16:00 USTC丶ZCC 阅读(221) 评论(0) 推荐(0)
摘要:题目:给定一个整型数组,数组元素随机无序的,要求打印出所有元素右边第一个大于该元素的值。 如数组A=[1,5,3,6,4,8,9,10] 输出[5, 6, 6, 8, 8, 9, 10, -1] 如数组A=[8, 2, 5, 4, 3, 9, 7, 2, 5] 输出[9, 5, 9, 9, 9, - 阅读全文
posted @ 2020-05-07 18:42 USTC丶ZCC 阅读(2326) 评论(0) 推荐(0)
摘要:格雷编码是一个二进制数字系统,在该系统中,两个连续的数值仅有一个位数的差异。 给定一个代表编码总位数的非负整数 n,打印其格雷编码序列。格雷编码序列必须以 0 开头。 示例 1: 输入: 2输出: [0,1,3,2]解释:00 - 001 - 111 - 310 - 2 对于给定的 n,其格雷编码序 阅读全文
posted @ 2020-04-26 23:43 USTC丶ZCC 阅读(145) 评论(0) 推荐(0)
摘要:给定两个整数 n 和 k,返回 1 ... n 中所有可能的 k 个数的组合。 示例: 输入: n = 4, k = 2输出:[ [2,4], [3,4], [2,3], [1,2], [1,3], [1,4],] class Solution: def combine(self, n: int, 阅读全文
posted @ 2020-04-23 20:52 USTC丶ZCC 阅读(181) 评论(0) 推荐(0)
摘要:1.英雄和怪都有能力值,英雄只能打能力值小于自己能力值的怪,每打完一只怪获得一个金币,任意时刻可以用一个金币换取 1 点能力值,但金币数不能为负(初始为0)。英雄可以以随意顺序打怪,怪物可以不用打完,求可获取金币数的最大值。 >> 输入1 32 2 1 说明:第一行第一个数表示英雄的初始能力值,第二 阅读全文
posted @ 2020-04-21 10:41 USTC丶ZCC 阅读(342) 评论(0) 推荐(0)
摘要:542.01 矩阵 给定一个由 0 和 1 组成的矩阵,找出每个元素到最近的 0 的距离。两个相邻元素间的距离为 1 。 示例 1:输入: 0 0 00 1 00 0 0输出: 0 0 00 1 00 0 0示例 2:输入: 0 0 00 1 01 1 1输出: 0 0 00 1 01 2 1 思路 阅读全文
posted @ 2020-04-20 16:00 USTC丶ZCC 阅读(281) 评论(0) 推荐(0)
摘要:设计一种算法,打印n对括号的所有合法的(例如,开闭一一对应)组合。 说明:解集不能包含重复的子集。 例如,给出 n = 3,生成结果为: [ "((()))", "(()())", "(())()", "()(())", "()()()"] class Solution: def generateP 阅读全文
posted @ 2020-04-20 11:30 USTC丶ZCC 阅读(214) 评论(0) 推荐(0)
摘要:题目描述:编写一种方法,返回某集合的所有子集。集合中不包含重复的元素。说明:解集不能包含重复的子集。 示例: 输入: nums = [1,2,3] 输出:[ [3], [1], [2], [1,2,3], [1,3], [2,3], [1,2], []] 方法一:遍历,遇到一个数就把所有子集加上该数 阅读全文
posted @ 2020-04-20 10:24 USTC丶ZCC 阅读(266) 评论(0) 推荐(0)
摘要:二进制手表顶部有 4 个 LED 代表小时(0-11),底部的 6 个 LED 代表分钟(0-59)。每个 LED 代表一个 0 或 1,最低位在右侧。 例如,上面的二进制手表读取 “3:25”。 给定一个非负整数 n 代表当前 LED 亮着的数量,返回所有可能的时间。 案例: 输入: n = 1返 阅读全文
posted @ 2020-04-19 16:40 USTC丶ZCC 阅读(237) 评论(0) 推荐(0)
摘要:1. 拿硬币 桌上有 n 堆力扣币,每堆的数量保存在数组 coins 中。我们每次可以选择任意一堆,拿走其中的一枚或者两枚,求拿完所有力扣币的最少次数。 示例 1: 输入:[4,2,1] 输出:4 解释:第一堆力扣币最少需要拿 2 次,第二堆最少需要拿 1 次,第三堆最少需要拿 1 次,总共 4 次 阅读全文
posted @ 2020-04-18 21:00 USTC丶ZCC 阅读(664) 评论(0) 推荐(0)
摘要:121.买卖股票的最佳时机 给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。如果你最多只允许完成一笔交易(即买入和卖出一支股票一次),设计一个算法来计算你所能获取的最大利润。 class Solution: def maxProfit(self, prices: List[int]) 阅读全文
posted @ 2020-04-18 18:41 USTC丶ZCC 阅读(773) 评论(0) 推荐(0)
摘要:给定一个经过编码的字符串,返回它解码后的字符串。 编码规则为: k[encoded_string],表示其中方括号内部的 encoded_string 正好重复 k 次。注意 k 保证为正整数。你可以认为输入字符串总是有效的;输入字符串中没有额外的空格,且输入的方括号总是符合格式要求的。 此外,你可 阅读全文
posted @ 2020-04-17 16:50 USTC丶ZCC 阅读(122) 评论(0) 推荐(0)
摘要:class Solution(object): #回溯法 def letterCombinations(self, digits): """ :type digits: str :rtype: List[str] """ if not digits: return [] dic = {'2':'ab 阅读全文
posted @ 2020-04-16 10:28 USTC丶ZCC 阅读(128) 评论(0) 推荐(0)
摘要:给你一个字符串 s 和一个字符规律 p,请你来实现一个支持 '.' 和 '*' 的正则表达式匹配。'.' 匹配任意单个字符'*' 匹配零个或多个前面的那一个元素。所谓匹配,是要涵盖 整个 字符串 s的,而不是部分字符串。 说明:s 可能为空,且只包含从 a-z 的小写字母。p 可能为空,且只包含从  阅读全文
posted @ 2020-04-16 10:01 USTC丶ZCC 阅读(1226) 评论(0) 推荐(0)
摘要:题目描述:给定一个由 0 和 1 组成的矩阵,找出每个元素到最近的 0 的距离。两个相邻元素间的距离为 1 。 示例 1:输入: 0 0 00 1 00 0 0输出: 0 0 00 1 00 0 0示例 2:输入: 0 0 00 1 01 1 1输出: 0 0 00 1 01 2 1 思路: 题目给 阅读全文
posted @ 2020-04-15 20:52 USTC丶ZCC 阅读(159) 评论(0) 推荐(0)
摘要:数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。 示例: 输入:n = 3输出: ["((()))", "(()())", "(())()", "()(())", "()()()" ] 方法一:暴力法 为了生成所有序列,我们可以使用递归。长度为 n 的序 阅读全文
posted @ 2020-04-14 14:59 USTC丶ZCC 阅读(209) 评论(0) 推荐(0)