自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 字典树

208. 实现 Trie (前缀树) 实现一个 Trie (前缀树),包含insert,search, 和startsWith这三个操作。 示例: Trie trie = new Trie(); trie.insert("apple"); trie.search(&...

2020-04-29 11:46:03 76 0

原创 5394. 对角线遍历 II

给你一个列表nums,里面每一个元素都是一个整数列表。请你依照下面各图的规则,按顺序返回nums中对角线上的整数。 输入:nums = [[1,2,3],[4,5,6],[7,8,9]] 输出:[1,4,2,7,5,3,8,6,9] 1.bfs,明显的特征 class Soluti...

2020-04-26 14:55:25 99 0

原创 5393. 可获得的最大点数

几张卡牌 排成一行,每张卡牌都有一个对应的点数。点数由整数数组 cardPoints 给出。 每次行动,你可以从行的开头或者末尾拿一张卡牌,最终你必须正好拿 k 张卡牌。 你的点数就是你拿到手中的所有卡牌的点数之和。 给你一个整数数组 cardPoints 和整数 k,请你返回可以获得的最大...

2020-04-26 14:22:29 117 0

原创 329. 矩阵中的最长递增路径

给定一个整数矩阵,找出最长递增路径的长度。 对于每个单元格,你可以往上,下,左,右四个方向移动。 你不能在对角线方向上移动或移动到边界外(即不允许环绕)。 输入: nums = [ [9,9,4], [6,6,8], [2,1,1] ] 输出: 4 解释: 最长递增路径为[1, 2, 6...

2020-04-22 22:47:43 85 0

原创 区间dp

516. 最长回文子序列 给定一个字符串s,找到其中最长的回文子序列。可以假设s的最大长度为1000。 示例 1: 输入: "bbbab" 输出:4 一个可能的最长回文子序列为 "bbbb"。 1.区间dp,dp[i][j]表示s中从i到j的最长...

2020-04-22 15:29:46 56 0

原创 背包dp

给定不同面额的硬币 coins 和一个总金额 amount。编写一个函数来计算可以凑成总金额所需的最少的硬币个数。如果没有任何一种硬币组合能组成总金额,返回-1 1.记忆化dfs 2.dfs+剪枝 3.典型的完全背包问题 class Solution: def coinChan...

2020-04-21 15:15:40 165 0

原创 面试题 16.11. 跳水板

你正在使用一堆木板建造跳水板。有两种类型的木板,其中长度较短的木板长度为shorter,长度较长的木板长度为longer。你必须正好使用k块木板。编写一个方法,生成跳水板所有可能的长度。 返回的长度需要从小到大排列。 示例: 输入: shorter = 1 longer = 2 k = 3 ...

2020-04-19 18:52:20 338 0

原创 5374. 长度为 n 的开心字符串中字典序第 k 小的字符串

一个 「开心字符串」定义为: 仅包含小写字母['a', 'b', 'c']. 对所有在1到s.length - 1之间的i,满足s[i] != s[i + 1](字符串的下标从 1 开始)。 比方说,字符串"abc"...

2020-04-19 15:33:45 101 0

原创 5389. 点菜展示表

给你一个数组 orders,表示客户在餐厅中完成的订单,确切地说, orders[i]=[customerNamei,tableNumberi,foodItemi] ,其中 customerNamei 是客户的姓名,tableNumberi 是客户所在餐桌的桌号,而 foodItemi 是客户点的...

2020-04-19 14:17:50 44 0

原创 5388. 重新格式化字符串

给你一个混合了数字和字母的字符串 s,其中的字母均为小写英文字母。 请你将该字符串重新格式化,使得任意两个相邻字符的类型都不同。也就是说,字母后面应该跟着数字,而数字后面应该跟着字母。 请你返回 重新格式化后 的字符串;如果无法按要求重新格式化,则返回一个 空字符串 。 示例 1: 输入:...

2020-04-19 13:44:52 65 0

原创 5390. 数青蛙

给你一个字符串 croakOfFrogs,它表示不同青蛙发出的蛙鸣声(字符串 "croak" )的组合。由于同一时间可以有多只青蛙呱呱作响,所以croakOfFrogs 中会混合多个 “croak” 。请你返回模拟字符串中所有蛙鸣所需不同青蛙的最少数目。 注意:要想发出蛙鸣 ...

2020-04-19 13:30:05 113 0

原创 5373. 和为 K 的最少斐波那契数字数目

给你数字 k,请你返回和为k的斐波那契数字的最少数目,其中,每个斐波那契数字都可以被使用多次。 斐波那契数字定义为: F1 = 1 F2 = 1 Fn = Fn-1 + Fn-2, 其中 n > 2 。 数据保证对于给定的 k,一定能找到可行解 1.贪心 class Soluti...

2020-04-19 10:29:09 79 0

原创 5372. 逐步求和得到正数的最小值

给你一个整数数组 nums。你可以选定任意的正数 startValue 作为初始值。 你需要从左到右遍历 nums数组,并将 startValue 依次累加上nums数组中的值。 请你在确保累加和始终大于等于 1 的前提下,选出一个最小的正数作为 startValue 。 1.暴力模拟 2...

2020-04-19 10:23:50 65 0

原创 1325. 删除给定值的叶子节点

给你一棵以root为根的二叉树和一个整数target,请你删除所有值为target 的叶子节点 。 注意,一旦删除值为target的叶子节点,它的父节点就可能变成叶子节点;如果新叶子节点的值恰好也是target ,那么这个节点也应该被删除。 也就是说,你需要重复此过程直到不能继续删除。 ...

2020-04-16 14:11:26 43 0

原创 1324. 竖直打印单词

给你一个字符串s。请你按照单词在 s 中的出现顺序将它们全部竖直返回。 单词应该以字符串列表的形式返回,必要时用空格补位,但输出尾部的空格需要删除(不允许尾随空格)。 每个单词只能放在一列上,每一列中也只能有一个单词。 示例 1: 输入:s = "HOW ARE YOU" ...

2020-04-16 14:07:35 1339 0

原创 动态规划专题

线性dp 300. 最长上升子序列 给定一个无序的整数数组,找到其中最长上升子序列的长度。 示例: 输入: [10,9,2,5,3,7,101,18] 输出: 4 解释: 最长的上升子序列是[2,3,7,101],它的长度是 4。 说明: 可能会有多种最长上升子序列的组合,你只需要输出...

2020-04-14 20:25:19 65 0

原创 记忆化dfs

494. 目标和 给定一个非负整数数组,a1, a2, ..., an, 和一个目标数,S。现在你有两个符号+和-。对于数组中的任意一个整数,你都可以从+或-中选择一个符号添加在前面。 返回可以使最终数组和为目标数 S 的所有添加符号的方法数。 示例 1: 输入: nums: [1, 1,...

2020-04-12 15:29:53 74 0

原创 5382. HTML 实体解析器

「HTML实体解析器」 是一种特殊的解析器,它将 HTML 代码作为输入,并用字符本身替换掉所有这些特殊的字符实体。 HTML 里这些特殊字符和它们对应的字符实体包括: 双引号:字符实体为",对应的字符是"。 单引号:字符实体为',对应的字符是&#...

2020-04-12 12:33:57 71 0

原创 1233. 删除子文件夹

你是一位系统管理员,手里有一份文件夹列表 folder,你的任务是要删除该列表中的所有 子文件夹,并以 任意顺序 返回剩下的文件夹。 我们这样定义「子文件夹」: 如果文件夹folder[i]位于另一个文件夹folder[j]下,那么folder[i]就是folder[j]的子文件夹。 文件夹的...

2020-04-10 21:40:29 58 0

原创 1318. 或运算的最小翻转次数

给你三个正整数a、b 和 c。 你可以对 a 和 b的二进制表示进行位翻转操作,返回能够使按位或运算a OR b == c成立的最小翻转次数。 「位翻转操作」是指将一个数的二进制表示任何单个位上的 1 变成 0 或者 0 变成 1 。 输入:a = 2, b = 6, c = 5 输出...

2020-04-10 11:14:38 28 0

原创 1317. 将整数转换为两个无零整数的和

「无零整数」是十进制表示中 不含任何 0的正整数。 给你一个整数n,请你返回一个 由两个整数组成的列表 [A, B],满足: A 和 B都是无零整数 A + B = n 题目数据保证至少有一个有效的解决方案。 如果存在多个有效解决方案,你可以返回其中任意一个。 1.一个值得注意的思路,数字...

2020-04-10 11:02:11 27 0

原创 前缀和

437. 路径总和 III 给定一个二叉树,它的每个结点都存放着一个整数值。 找出路径和等于给定数值的路径总数。 路径不需要从根节点开始,也不需要在叶子节点结束,但是路径方向必须是向下的(只能从父节点到子节点)。 二叉树不超过1000个节点,且节点数值范围是 [-1000000,10000...

2020-04-10 10:00:47 77 0

原创 1248. 统计「优美子数组」

给你一个整数数组nums 和一个整数 k。 如果某个 连续 子数组中恰好有 k 个奇数数字,我们就认为这个子数组是「优美子数组」。 请返回这个数组中「优美子数组」的数目。 示例 1: 输入:nums = [1,1,2,1,1], k = 3 输出:2 解释:包含 3 个奇数的子数组是 [1...

2020-04-09 14:10:56 120 0

原创 1247. 交换字符使得字符串相同

有两个长度相同的字符串s1 和s2,且它们其中只含有字符"x" 和"y",你需要通过「交换字符」的方式使这两个字符串相同。 每次「交换字符」的时候,你都可以在两个字符串中各选一个字符进行交换。 交换只能发生在两个不同的字符串之间,绝对不能发生在同一个字符...

2020-04-09 13:42:39 287 0

原创 1405. 最长快乐字符串

如果字符串中不含有任何 'aaa','bbb' 或 'ccc' 这样的字符串作为子串,那么该字符串就是一个「快乐字符串」。 给你三个整数 a,b ,c,请你返回 任意一个 满足下列全部条件的字符串 s: s 是一个尽可能长的快乐字符串...

2020-04-07 18:37:50 182 0

原创 1404. 将二进制表示减到 1 的步骤数

给你一个以二进制形式表示的数字 s 。请你返回按下述规则将其减少到 1 所需要的步骤数: 如果当前数字为偶数,则将其除以 2 。 如果当前数字为奇数,则将其加上 1 。 题目保证你总是可以按上述规则将测试用例变为 1 。 示例 1: 输入:s = "1101" 输...

2020-04-07 17:24:21 123 0

原创 1403. 非递增顺序的最小子序列

给你一个数组 nums,请你从中抽取一个子序列,满足该子序列的元素之和 严格 大于未包含在该子序列中的各元素之和。 如果存在多个解决方案,只需返回 长度最小 的子序列。如果仍然有多个解决方案,则返回 元素之和最大 的子序列。 与子数组不同的地方在于,「数组的子序列」不强调元素在原数组中的连续性...

2020-04-07 16:33:26 46 0

原创 回溯算法

给定一组不含重复元素的整数数组nums,返回该数组所有可能的子集(幂集)。 说明:解集不能包含重复的子集。 示例: 输入: nums = [1,2,3] 输出: [ [3], [1], [2], [1,2,3], [1,3], [2,3], [1,2], [] ] 1.库函数iterto...

2020-04-04 11:19:32 84 0

原创 417. 太平洋大西洋水流问题

给定一个 m x n 的非负整数矩阵来表示一片大陆上各个单元格的高度。“太平洋”处于大陆的左边界和上边界,而“大西洋”处于大陆的右边界和下边界。 规定水流只能按照上、下、左、右四个方向流动,且只能从高到低或者在同等高度上流动。 请找出那些水流既可以流动到“太平洋”,又能流动到“大西洋”的陆地单...

2020-04-03 22:05:22 66 0

原创 394. 字符串解码

给定一个经过编码的字符串,返回它解码后的字符串。 编码规则为: k[encoded_string],表示其中方括号内部的 encoded_string 正好重复 k 次。注意 k 保证为正整数。 你可以认为输入字符串总是有效的;输入字符串中没有额外的空格,且输入的方括号总是符合格式要求的。 ...

2020-04-03 18:29:44 47 0

原创 332. 重新安排行程

给定一个机票的字符串二维数组 [from, to],子数组中的两个成员分别表示飞机出发和降落的机场地点,对该行程进行重新规划排序。所有这些机票都属于一个从JFK(肯尼迪国际机场)出发的先生,所以该行程必须从 JFK 出发。 说明: 如果存在多种有效的行程,你可以按字符自然排序返回最小的行程组合...

2020-04-03 16:09:12 53 0

提示
确定要删除当前文章?
取消 删除