07 2020 档案

摘要:题目描述 给定一个正整数 n,将其拆分为至少两个正整数的和,并使这些整数的乘积最大化。 返回你可以获得的最大乘积。 示例: 输入: 2 输出: 1 解释: 2 = 1 + 1, 1 × 1 = 1。 输入: 10 输出: 36 解释: 10 = 3 + 3 + 4, 3 × 3 × 4 = 36。 阅读全文
posted @ 2020-07-30 11:22 Flix 阅读(172) 评论(0) 推荐(0)
摘要:题目描述 给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。” 例如,给定如下二叉搜索树: root 阅读全文
posted @ 2020-07-30 10:53 Flix 阅读(219) 评论(0) 推荐(0)
摘要:题目描述 把n个骰子扔在地上,所有骰子朝上一面的点数之和为s。输入n,打印出s的所有可能的值出现的概率。 你需要用一个浮点数数组返回答案,其中第 i 个元素代表这 n 个骰子所能掷出的点数集合中第 i 小的那个的概率。 示例: 输入: 1 输出: [0.16667,0.16667,0.16667,0 阅读全文
posted @ 2020-07-29 17:11 Flix 阅读(649) 评论(0) 推荐(0)
摘要:题目描述 字符串的左旋转操作是把字符串前面的若干个字符转移到字符串的尾部。请定义一个函数实现字符串左旋转操作的功能。比如,输入字符串"abcdefg"和数字2,该函数将返回左旋转两位得到的结果"cdefgab"。 示例: 输入: s = "abcdefg", k = 2 输出: "cdefgab" 阅读全文
posted @ 2020-07-27 11:40 Flix 阅读(233) 评论(0) 推荐(0)
摘要:题目描述 输入一个正整数 target ,输出所有和为 target 的连续正整数序列(至少含有两个数)。 序列内的数字由小到大排列,不同序列按照首个数字从小到大排列。 示例: 输入:target = 9 输出:[[2,3,4],[4,5]] 输入:target = 15 输出:[[1,2,3,4, 阅读全文
posted @ 2020-07-26 23:04 Flix 阅读(147) 评论(0) 推荐(0)
摘要:题目描述 统计一个数字在排序数组中出现的次数。 示例: 输入: nums = [5,7,7,8,8,10], target = 8 输出: 2 输入: nums = [5,7,7,8,8,10], target = 6 输出: 0 说明: 0 ⇐ 数组长度 ⇐ 50000 题目链接: https:/ 阅读全文
posted @ 2020-07-26 20:19 Flix 阅读(337) 评论(0) 推荐(0)
摘要:题目描述 给定一个数字,我们按照如下规则把它翻译为字符串:0 翻译成 “a” ,1 翻译成 “b”,……,11 翻译成 “l”,……,25 翻译成 “z”。一个数字可能有多个翻译。请编程实现一个函数,用来计算一个数字有多少种不同的翻译方法。 示例: 输入: 12258 输出: 5 解释: 12258 阅读全文
posted @ 2020-07-25 22:43 Flix 阅读(198) 评论(0) 推荐(0)
摘要:题目描述 输入一个整数 n ,求1~n这n个整数的十进制表示中1出现的次数。 例如,输入12,1~12这些整数中包含1 的数字有1、10、11和12,1一共出现了5次。 示例: 输入:n = 12 输出:5 输入:n = 13 输出:6 说明: 1 ⇐ n < 2^31 题目链接: https:// 阅读全文
posted @ 2020-07-25 22:10 Flix 阅读(286) 评论(0) 推荐(0)
摘要:题目描述 在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数。 示例: 输入: [7,5,6,4] 输出: 5 说明: 0 ⇐ 数组长度 ⇐ 50000 题目链接: https://leetcode-cn.com/problem 阅读全文
posted @ 2020-07-25 19:52 Flix 阅读(772) 评论(0) 推荐(0)
摘要:题目描述 如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值。如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数的平均值。 例如, [2,3,4] 的中位数是 3 [2,3] 的中位数是 (2 + 3) / 2 = 2.5 设 阅读全文
posted @ 2020-07-24 22:52 Flix 阅读(215) 评论(0) 推荐(0)
摘要:题目描述 输入一个字符串,打印出该字符串中字符的所有排列。 你可以以任意顺序返回这个字符串数组,但里面不能有重复元素。 示例: 输入:s = "abc" 输出:["abc","acb","bac","bca","cab","cba"] 说明: 1 ⇐ s 的长度 ⇐ 8 题目链接: https:// 阅读全文
posted @ 2020-07-24 21:38 Flix 阅读(135) 评论(0) 推荐(0)
摘要:题目描述 输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的循环双向链表。要求不能创建任何新的节点,只能调整树中节点指针的指向。 为了让您更好地理解问题,以下面的二叉搜索树为例: 我们希望将这个二叉搜索树转化为双向循环链表。链表中的每个节点都有一个前驱和后继指针。对于双向循环链表,第一个节点的前驱是 阅读全文
posted @ 2020-07-24 20:02 Flix 阅读(227) 评论(0) 推荐(0)
摘要:题目描述 输入一棵二叉树和一个整数,打印出二叉树中节点值的和为输入整数的所有路径。从树的根节点开始往下一直到叶节点所经过的节点形成一条路径。 示例: 给定如下二叉树,以及目标和 sum = 22, 5 / \ 4 8 / / \ 11 13 4 / \ / \ 7 2 5 1 返回: [ [5,4, 阅读全文
posted @ 2020-07-24 16:37 Flix 阅读(189) 评论(0) 推荐(0)
摘要:题目描述 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如,序列 {1,2,3,4,5} 是某栈的压栈序列,序列 {4,5,3,2,1} 是该压栈序列对应的一个弹出序列,但 {4,3,5,1,2} 就不可能是该压栈序列的弹出序列。 阅读全文
posted @ 2020-07-24 11:39 Flix 阅读(209) 评论(0) 推荐(0)
摘要:题目描述 定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的 min 函数在该栈中,调用 min、push 及 pop 的时间复杂度都是 O(1)。 示例: MinStack minStack = new MinStack(); minStack.push(-2); minStack.pu 阅读全文
posted @ 2020-07-24 11:15 Flix 阅读(144) 评论(0) 推荐(0)
摘要:题目描述 爱丽丝和鲍勃一起玩游戏,他们轮流行动。爱丽丝先手开局。 最初,黑板上有一个数字 N 。在每个玩家的回合,玩家需要执行以下操作: 选出任一 x,满足 0 < x < N 且 N % x == 0 。 用 N - x 替换黑板上的数字 N 。 如果玩家无法执行这些操作,就会输掉游戏。 只有在爱 阅读全文
posted @ 2020-07-24 10:24 Flix 阅读(149) 评论(0) 推荐(0)
摘要:题目描述 输入两棵二叉树A和B,判断B是不是A的子结构。(约定空树不是任意一个树的子结构) B是A的子结构, 即 A中有出现和B相同的结构和节点值。 例如: 给定的树 A: 3 / \ 4 5 / \ 1 2 给定的树 B: 4 / 1 返回 true,因为 B 与 A 的一个子树拥有相同的结构和节 阅读全文
posted @ 2020-07-23 21:28 Flix 阅读(302) 评论(0) 推荐(0)
摘要:题目描述 请实现一个函数用来判断字符串是否表示数值(包括整数和小数)。例如,字符串"+100"、"5e2"、"-123"、"3.1416"、"0123"都表示数值,但"12e"、"1a3.14"、"1.2.3"、"+-5"、"-1E-16"及"12e+5.4"都不是。 题目链接: https://l 阅读全文
posted @ 2020-07-23 20:17 Flix 阅读(303) 评论(0) 推荐(0)
摘要:题目描述 给定单向链表的头指针和一个要删除的节点的值,定义一个函数删除该节点。 返回删除后的链表的头节点。 注意: 此题对比原题有改动 示例: 输入: head = [4,5,1,9], val = 5 输出: [4,1,9] 解释: 给定你链表中值为 5 的第二个节点,那么在调用了你的函数之后,该 阅读全文
posted @ 2020-07-23 19:35 Flix 阅读(194) 评论(0) 推荐(0)
摘要:题目描述 给你一根长度为 n 的绳子,请把绳子剪成整数长度的 m 段(m、n都是整数,n>1并且m>1),每段绳子的长度记为 k[0],k[1]...k[m-1] 。请问 k[0]*k[1]*...*k[m-1] 可能的最大乘积是多少?例如,当绳子的长度是8时,我们把它剪成长度分别为2、3、3的三段 阅读全文
posted @ 2020-07-23 16:31 Flix 阅读(326) 评论(0) 推荐(0)
摘要:题目描述 地上有一个m行n列的方格,从坐标 [0,0] 到坐标 [m-1,n-1] 。一个机器人从坐标 [0, 0] 的格子开始移动,它每次可以向左、右、上、下移动一格(不能移动到方格外),也不能进入行坐标和列坐标的数位之和大于k的格子。例如,当k为18时,机器人能够进入方格 [35, 37] ,因 阅读全文
posted @ 2020-07-23 15:37 Flix 阅读(212) 评论(0) 推荐(0)
摘要:题目描述 请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。路径可以从矩阵中的任意一格开始,每一步可以在矩阵中向左、右、上、下移动一格。如果一条路径经过了矩阵的某一格,那么该路径不能再次进入该格子。例如,在下面的3×4的矩阵中包含一条字符串“bfce”的路径(路径中的字母用 阅读全文
posted @ 2020-07-23 11:29 Flix 阅读(251) 评论(0) 推荐(0)
摘要:题目描述 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素。例如,数组 [3,4,5,1,2] 为 [1,2,3,4,5] 的一个旋转,该数组的最小值为1。 示例: 输入:[3,4,5,1,2] 输出:1 输入:[2,2,2, 阅读全文
posted @ 2020-07-22 20:48 Flix 阅读(186) 评论(0) 推荐(0)
摘要:题目描述 将一个给定字符串根据给定的行数,以从上往下、从左到右进行 Z 字形排列。 比如输入字符串为 "LEETCODEISHIRING" 行数为 3 时,排列如下: L C I R E T O E S I I G E D H N 之后,你的输出需要从左往右逐行读取,产生出一个新的字符串,比如:"L 阅读全文
posted @ 2020-07-19 23:23 Flix 阅读(210) 评论(0) 推荐(0)
摘要:题目描述 判断一个 9x9 的数独是否有效。只需要根据以下规则,验证已经填入的数字是否有效即可。 数字 1-9 在每一行只能出现一次。 数字 1-9 在每一列只能出现一次。 数字 1-9 在每一个以粗实线分隔的 3x3 宫内只能出现一次。 数独部分空格内已填入了数字,空白格用 '.' 表示。 示例: 阅读全文
posted @ 2020-07-19 22:53 Flix 阅读(279) 评论(0) 推荐(0)
摘要:题目描述 给定正整数 n,找到若干个完全平方数(比如 1, 4, 9, 16, ...)使得它们的和等于 n。你需要让组成和的完全平方数的个数最少。 示例: 输入: n = 12 输出: 3 解释: 12 = 4 + 4 + 4. 输入: n = 13 输出: 2 解释: 13 = 4 + 9. 题 阅读全文
posted @ 2020-07-17 21:22 Flix 阅读(342) 评论(0) 推荐(0)
摘要:题目描述 找到给定字符串(由小写字符组成)中的最长子串 T , 要求 T 中的每一字符出现次数都不少于 k 。输出 T 的长度。 示例: 输入: s = "aaabb", k = 3 输出: 3 最长子串为 "aaa" ,其中 'a' 重复了 3 次。 题目链接: https://leetcode- 阅读全文
posted @ 2020-07-17 20:15 Flix 阅读(192) 评论(0) 推荐(0)
摘要:题目描述 设计一个支持在平均 时间复杂度 O(1) 下,执行以下操作的数据结构。 insert(val):当元素 val 不存在时,向集合中插入该项。 remove(val):元素 val 存在时,从集合中移除该项。 getRandom:随机返回现有集合中的一项。每个元素应该有相同的概率被返回。 示 阅读全文
posted @ 2020-07-17 17:21 Flix 阅读(267) 评论(0) 推荐(0)
摘要:题目描述 给定一个字符串,找到它的第一个不重复的字符,并返回它的索引。如果不存在,则返回 -1。 示例: s = "leetcode" 返回 0 s = "loveleetcode" 返回 2 题目链接: https://leetcode-cn.com/problems/first-unique-c 阅读全文
posted @ 2020-07-16 22:20 Flix 阅读(124) 评论(0) 推荐(0)
摘要:题目描述 给定一个数组,它的第 i 个元素是一支给定的股票在第 i 天的价格。 设计一个算法来计算你所能获取的最大利润。你最多可以完成 两笔 交易。 注意: 你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。 示例: 输入: [3,3,5,0,0,3,1,4] 输出: 6 解释: 在第 阅读全文
posted @ 2020-07-16 21:41 Flix 阅读(185) 评论(0) 推荐(0)
摘要:题目描述 给定一个整数,写一个函数来判断它是否是 3 的幂次方。 示例: 输入: 27 输出: true 输入: 45 输出: false 进阶: 你能不使用循环或者递归来完成本题吗? 题目链接: https://leetcode-cn.com/problems/power-of-three/ 思路 阅读全文
posted @ 2020-07-16 16:50 Flix 阅读(408) 评论(0) 推荐(0)
摘要:题目描述 请编写一个函数,使其可以删除某个链表中给定的(非末尾)节点,你将只被给定要求被删除的节点。 现有一个链表 -- head = [4,5,1,9],它可以表示为: 题目描述: 输入: head = [4,5,1,9], node = 5 输出: [4,1,9] 解释: 给定你链表中值为 5  阅读全文
posted @ 2020-07-16 16:23 Flix 阅读(121) 评论(0) 推荐(0)
摘要:题目描述 不使用运算符 + 和 - ​​​​​​​,计算两整数 ​​​​​​​a 、b ​​​​​​​之和。 示例: 输入: a = 1, b = 2 输出: 3 输入: a = -2, b = 3 输出: 1 题目链接: https://leetcode-cn.com/problems/sum-o 阅读全文
posted @ 2020-07-16 11:04 Flix 阅读(175) 评论(0) 推荐(0)
摘要:题目描述 给定一个单链表,其中的元素按升序排序,将其转换为高度平衡的二叉搜索树。 本题中,一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1。 示例: 给定的有序链表: [-10, -3, 0, 5, 9], 一个可能的答案是:[0, -3, 9, -10, null 阅读全文
posted @ 2020-07-15 20:49 Flix 阅读(168) 评论(0) 推荐(0)
摘要:题目描述 实现一个基本的计算器来计算一个简单的字符串表达式的值。 字符串表达式仅包含非负整数,+, - ,*,/ 四种运算符和空格 。 整数除法仅保留整数部分。 示例: 输入: "3+2*2" 输出: 7 输入: " 3/2 " 输出: 1 输入: " 3+5 / 2 " 输出: 5 说明: 你可以 阅读全文
posted @ 2020-07-15 15:07 Flix 阅读(167) 评论(0) 推荐(0)
摘要:题目描述 给定一个Excel表格中的列名称,返回其相应的列序号。 字母和数字的对应关系如下 A -> 1 B -> 2 C -> 3 ... Z -> 26 AA -> 27 AB -> 28 ... 示例: 输入: "A" 输出: 1 输入: "AB" 输出: 28 输入: "ZY" 输出: 70 阅读全文
posted @ 2020-07-14 21:51 Flix 阅读(238) 评论(0) 推荐(0)
摘要:题目描述 根据 逆波兰表示法,求表达式的值。 有效的运算符包括 +, -, *, / 。每个运算对象可以是整数,也可以是另一个逆波兰表达式。 说明: 整数除法只保留整数部分。 给定逆波兰表达式总是有效的。换句话说,表达式总会得出有效数值且不存在除数为 0 的情况。 示例: 输入: ["2", "1" 阅读全文
posted @ 2020-07-14 21:09 Flix 阅读(174) 评论(0) 推荐(0)
摘要:题目描述 颠倒给定的 32 位无符号整数的二进制位。 示例: 输入: 00000010100101000001111010011100 输出: 00111001011110000010100101000000 解释: 输入的二进制串 00000010100101000001111010011100 阅读全文
posted @ 2020-07-14 20:45 Flix 阅读(206) 评论(0) 推荐(0)
摘要:题目描述 给定一组非负整数,重新排列它们的顺序使之组成一个最大的整数。 示例: 输入: [10,2] 输出: 210 输入: [3,30,34,5,9] 输出: 9534330 说明: 输出结果可能非常大,所以你需要返回一个字符串而不是整数。 题目链接: https://leetcode-cn.co 阅读全文
posted @ 2020-07-14 20:04 Flix 阅读(256) 评论(0) 推荐(0)
摘要:题目描述 给定两个整数,分别表示分数的分子 numerator 和分母 denominator,以字符串形式返回小数。 如果小数部分为循环小数,则将循环的部分括在括号内。 示例: 输入: numerator = 1, denominator = 2 输出: "0.5" 输入: numerator = 阅读全文
posted @ 2020-07-14 16:23 Flix 阅读(274) 评论(0) 推荐(0)
摘要:题目描述 给定一个二维平面,平面上有 n 个点,求最多有多少个点在同一条直线上。 示例: 输入: [[1,1],[2,2],[3,3]] 输出: 3 解释: ^ | | o | o | o + > 0 1 2 3 4 题目链接: https://leetcode-cn.com/problems/ma 阅读全文
posted @ 2020-07-14 15:08 Flix 阅读(264) 评论(0) 推荐(0)
摘要:题目描述 给定一个链表,每个节点包含一个额外增加的随机指针,该指针可以指向链表中的任何节点或空节点。 要求返回这个链表的 深拷贝。 我们用一个由 n 个节点组成的链表来表示输入/输出中的链表。每个节点用一个 [val, random_index] 表示: val:一个表示 Node.val 的整数。 阅读全文
posted @ 2020-07-14 11:40 Flix 阅读(335) 评论(0) 推荐(0)
摘要:题目描述 给定一个二维的矩阵,包含 'X' 和 'O'(字母 O)。 找到所有被 'X' 围绕的区域,并将这些区域里所有的 'O' 用 'X' 填充。 示例: X X X X X O O X X X O X X O X X 运行你的函数后,矩阵变为: X X X X X X X X X X X X 阅读全文
posted @ 2020-07-14 10:51 Flix 阅读(108) 评论(0) 推荐(0)
摘要:题目描述 给出一个完全二叉树,求出该树的节点个数。 说明: 完全二叉树的定义如下:在完全二叉树中,除了最底层节点可能没填满外,其余每层节点数都达到最大值,并且最下面一层的节点都集中在该层最左边的若干位置。若最底层为第 h 层,则该层包含 1 ~ 2^h 个节点。 示例: 输入: 1 / \ 2 3 阅读全文
posted @ 2020-07-13 21:08 Flix 阅读(362) 评论(0) 推荐(0)
摘要:题目描述 在 O(n log n) 时间复杂度和常数级空间复杂度下,对链表进行排序。 示例: 输入: 4->2->1->3 输出: 1->2->3->4 题目链接: https://leetcode-cn.com/problems/sort-list/ 思路1 使用两个栈来做,类似于栈排序的方法。代 阅读全文
posted @ 2020-07-13 20:37 Flix 阅读(300) 评论(0) 推荐(0)
摘要:## 题目描述 给定一个带有头结点 head 的非空单链表,返回链表的中间结点。 如果有两个中间结点,则返回第二个中间结点。 **示例:** ```html 输入:[1,2,3,4,5] 输出:此列表中的结点 3 (序列化形式:[3,4,5]) 返回的结点值为 3 。 (测评系统对该结点序列化表述是 阅读全文
posted @ 2020-07-13 15:46 Flix 阅读(411) 评论(0) 推荐(0)
摘要:题目描述 有一个二维矩阵 grid ,每个位置要么是陆地(记号为 0 )要么是水域(记号为 1 )。 我们从一块陆地出发,每次可以往上下左右 4 个方向相邻区域走,能走到的所有陆地区域,我们将其称为一座「岛屿」。 如果一座岛屿 完全 由水域包围,即陆地边缘上下左右所有相邻区域都是水域,那么我们将其称 阅读全文
posted @ 2020-07-13 15:16 Flix 阅读(270) 评论(0) 推荐(0)
摘要:题目描述 栈排序。 编写程序,对栈进行排序使最小元素位于栈顶。最多只能使用一个其他的临时栈存放数据,但不得将元素复制到别的数据结构(如数组)中。该栈支持如下操作:push、pop、peek 和 isEmpty。当栈为空时,peek 返回 -1。 示例: 输入: ["SortedStack", "pu 阅读全文
posted @ 2020-07-13 11:29 Flix 阅读(373) 评论(0) 推荐(0)
摘要:题目描述 给定一个数组,将数组中的元素向右移动 k 个位置,其中 k 是非负数。 示例: 输入: [1,2,3,4,5,6,7] 和 k = 3 输出: [5,6,7,1,2,3,4] 解释: 向右旋转 1 步: [7,1,2,3,4,5,6] 向右旋转 2 步: [6,7,1,2,3,4,5] 向 阅读全文
posted @ 2020-07-13 10:52 Flix 阅读(250) 评论(0) 推荐(0)
摘要:题目描述 给定两个数组,编写一个函数来计算它们的交集。 示例: 输入: nums1 = [1,2,2,1], nums2 = [2,2] 输出: [2,2] 输入: nums1 = [4,9,5], nums2 = [9,4,9,8,4] 输出: [4,9] 说明: 输出结果中每个元素出现的次数,应 阅读全文
posted @ 2020-07-13 09:57 Flix 阅读(144) 评论(0) 推荐(0)
摘要:题目描述 给定一个二叉树,返回其节点值自底向上的层次遍历。 (即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历) 示例: 例如: 给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7 返回其自底向上的层次遍历为: [ [15,7], [9,20] 阅读全文
posted @ 2020-07-12 23:01 Flix 阅读(123) 评论(0) 推荐(0)
摘要:题目描述 写一个程序,输出从 1 到 n 数字的字符串表示。 如果 n 是3的倍数,输出“Fizz”; 如果 n 是5的倍数,输出“Buzz”; 3.如果 n 同时是3和5的倍数,输出 “FizzBuzz”。 示例: n = 15, 返回: [ "1", "2", "Fizz", "4", "Buz 阅读全文
posted @ 2020-07-12 20:35 Flix 阅读(189) 评论(0) 推荐(0)
摘要:题目描述 给你两个数组,arr1 和 arr2, arr2 中的元素各不相同 arr2 中的每个元素都出现在 arr1 中 对 arr1 中的元素进行排序,使 arr1 中项的相对顺序和 arr2 中的相对顺序相同。未在 arr2 中出现过的元素需要按照升序放在 arr1 的末尾。 示例: 输入:a 阅读全文
posted @ 2020-07-12 20:12 Flix 阅读(300) 评论(0) 推荐(0)
摘要:题目描述 给定两个单词(beginWord 和 endWord)和一个字典,找到从 beginWord 到 endWord 的最短转换序列的长度。转换需遵循如下规则: 每次转换只能改变一个字母。 转换过程中的中间单词必须是字典中的单词。 说明: 如果不存在这样的转换序列,返回 0。 所有单词具有相同 阅读全文
posted @ 2020-07-12 11:20 Flix 阅读(358) 评论(0) 推荐(0)
摘要:题目描述 给定一个字符串S,检查是否能重新排布其中的字母,使得两相邻的字符不同。 若可行,输出任意可行的结果。若不可行,返回空字符串。 示例: 输入: S = "aab" 输出: "aba" 输入: S = "aaab" 输出: "" 说明: S 只包含小写字母并且长度在[1, 500]区间内。 题 阅读全文
posted @ 2020-07-11 22:58 Flix 阅读(220) 评论(0) 推荐(0)
摘要:题目描述 给定一个完美二叉树,其所有叶子节点都在同一层,每个父节点都有两个子节点。二叉树定义如下: struct Node { int val; Node *left; Node *right; Node *next; } 填充它的每个 next 指针,让这个指针指向其下一个右侧节点。如果找不到下一 阅读全文
posted @ 2020-07-11 21:57 Flix 阅读(223) 评论(0) 推荐(0)
摘要:题目描述 给定一个字符串 s,将 s 分割成一些子串,使每个子串都是回文串。 返回 s 所有可能的分割方案。 示例: 输入: "aab" 输出: [ ["aa","b"], ["a","a","b"] ] 题目链接: https://leetcode-cn.com/problems/palindro 阅读全文
posted @ 2020-07-11 21:30 Flix 阅读(139) 评论(0) 推荐(0)
摘要:题目描述 给定一个仅包含大小写字母和空格 ' ' 的字符串 s,返回其最后一个单词的长度。如果字符串从左向右滚动显示,那么最后一个单词就是最后出现的单词。 如果不存在最后一个单词,请返回 0 。 说明: 一个单词是指仅由字母组成、不包含任何空格字符的 最大子字符串。 示例: 输入: "Hello W 阅读全文
posted @ 2020-07-11 21:09 Flix 阅读(182) 评论(0) 推荐(0)
摘要:题目描述 根据 百度百科 ,生命游戏,简称为生命,是英国数学家约翰·何顿·康威在 1970 年发明的细胞自动机。 给定一个包含 m × n 个格子的面板,每一个格子都可以看成是一个细胞。每个细胞都具有一个初始状态:1 即为活细胞(live),或 0 即为死细胞(dead)。每个细胞与其八个相邻位置( 阅读全文
posted @ 2020-07-11 16:35 Flix 阅读(195) 评论(0) 推荐(0)
摘要:题目描述 给定一个单链表,把所有的奇数节点和偶数节点分别排在一起。请注意,这里的奇数节点和偶数节点指的是节点编号的奇偶性,而不是节点的值的奇偶性。 请尝试使用原地算法完成。你的算法的空间复杂度应为 O(1),时间复杂度应为 O(nodes),nodes 为节点总数。 示例: 输入: 1->2->3- 阅读全文
posted @ 2020-07-11 15:27 Flix 阅读(511) 评论(0) 推荐(0)
摘要:题目描述 编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 char[] 的形式给出。 不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。 你可以假设数组中的所有字符都是 ASCII 码表中的可打印字符。 示例: 输入:["h","e" 阅读全文
posted @ 2020-07-11 15:00 Flix 阅读(180) 评论(0) 推荐(0)
摘要:题目描述 打乱一个没有重复元素的数组。 示例: // 以数字集合 1, 2 和 3 初始化数组。 int[] nums = {1,2,3}; Solution solution = new Solution(nums); // 打乱数组 [1,2,3] 并返回结果。任何 [1,2,3]的排列返回的概 阅读全文
posted @ 2020-07-11 11:54 Flix 阅读(239) 评论(0) 推荐(0)
摘要:题目描述 编写一个函数,输入是一个无符号整数,返回其二进制表达式中数字位数为 ‘1’ 的个数(也被称为汉明重量)。 示例: 输入:00000000000000000000000000001011 输出:3 解释:输入的二进制串 00000000000000000000000000001011 中,共 阅读全文
posted @ 2020-07-11 11:29 Flix 阅读(183) 评论(0) 推荐(0)
摘要:题目描述 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分。 示例: 输入:nums = [1,2,3,4] 输出:[1,3,2,4] 注:[3,1,2,4] 也是正确的答案之一。 说明: 1 ⇐ nums.length ⇐ 5000 阅读全文
posted @ 2020-07-10 21:08 Flix 阅读(253) 评论(0) 推荐(0)
摘要:题目描述 给定一个非负整数 numRows,生成杨辉三角的前 numRows 行。 示例: 输入: 5 输出: [ [1], [1,1], [1,2,1], [1,3,3,1], [1,4,6,4,1] ] 题目链接: https://leetcode-cn.com/problems/pascals 阅读全文
posted @ 2020-07-10 16:24 Flix 阅读(334) 评论(0) 推荐(0)
摘要:题目描述 一条包含字母 A-Z 的消息通过以下方式进行了编码: 'A' -> 1 'B' -> 2 ... 'Z' -> 26 示例: 输入: "12" 输出: 2 解释: 它可以解码为 "AB"(1 2)或者 "L"(12)。 输入: "226" 输出: 3 解释: 它可以解码为 "BZ" (2 阅读全文
posted @ 2020-07-10 15:59 Flix 阅读(198) 评论(0) 推荐(0)
摘要:题目描述 给定一个按照升序排列的整数数组 nums,和一个目标值 target。找出给定目标值在数组中的开始位置和结束位置。 你的算法时间复杂度必须是 O(log n) 级别。 如果数组中不存在目标值,返回 [-1, -1]。 示例: 输入: nums = [5,7,7,8,8,10], targe 阅读全文
posted @ 2020-07-10 11:29 Flix 阅读(502) 评论(0) 推荐(0)
摘要:题目描述 统计所有小于非负整数 n 的质数的数量。 示例: 输入: 10 输出: 4 解释: 小于 10 的质数一共有 4 个, 它们是 2, 3, 5, 7 。 题目描述: https://leetcode-cn.com/problems/count-primes/ 思路1 质数就是只能被 1 和 阅读全文
posted @ 2020-07-09 22:43 Flix 阅读(198) 评论(0) 推荐(0)
摘要:题目描述 给定一个整数 n,返回 n! 结果尾数中零的数量。 示例: 输入: 3 输出: 0 解释: 3! = 6, 尾数中没有零。 输入: 5 输出: 1 解释: 5! = 120, 尾数中有 1 个零. 说明: 你算法的时间复杂度应为 O(log n) 。 题目链接: https://leetc 阅读全文
posted @ 2020-07-09 21:58 Flix 阅读(164) 评论(0) 推荐(0)
摘要:题目描述 峰值元素是指其值大于左右相邻值的元素。 给定一个输入数组 nums,其中 nums[i] ≠ nums[i+1],找到峰值元素并返回其索引。 数组可能包含多个峰值,在这种情况下,返回任何一个峰值所在位置即可。 你可以假设 nums[-1] = nums[n] = -∞。 示例: 输入: n 阅读全文
posted @ 2020-07-09 21:36 Flix 阅读(908) 评论(0) 推荐(0)
摘要:题目描述 在一条环路上有 N 个加油站,其中第 i 个加油站有汽油 gas[i] 升。 你有一辆油箱容量无限的的汽车,从第 i 个加油站开往第 i+1 个加油站需要消耗汽油 cost[i] 升。你从其中的一个加油站出发,开始时油箱为空。 如果你可以绕环路行驶一周,则返回出发时加油站的编号,否则返回 阅读全文
posted @ 2020-07-09 20:53 Flix 阅读(142) 评论(0) 推荐(0)
摘要:题目描述 给定一个 m x n 的矩阵,如果一个元素为 0,则将其所在行和列的所有元素都设为 0。请使用原地算法。 示例: 输入: [ [1,1,1], [1,0,1], [1,1,1] ] 输出: [ [1,0,1], [0,0,0], [1,0,1] ] 题目链接: https://leetco 阅读全文
posted @ 2020-07-09 19:44 Flix 阅读(135) 评论(0) 推荐(0)
摘要:题目描述 你正在使用一堆木板建造跳水板。有两种类型的木板,其中长度较短的木板长度为shorter,长度较长的木板长度为longer。你必须正好使用k块木板。编写一个方法,生成跳水板所有可能的长度。 返回的长度需要从小到大排列。 示例: 输入: shorter = 1 longer = 2 k = 3 阅读全文
posted @ 2020-07-08 23:06 Flix 阅读(132) 评论(0) 推荐(0)
摘要:题目描述 给定一个包含 m x n 个元素的矩阵(m 行, n 列),请按照顺时针螺旋顺序,返回矩阵中的所有元素。 示例: 输入: [ [ 1, 2, 3 ], [ 4, 5, 6 ], [ 7, 8, 9 ] ] 输出: [1,2,3,6,9,8,7,4,5] 题目链接: https://leet 阅读全文
posted @ 2020-07-06 21:51 Flix 阅读(484) 评论(0) 推荐(0)
摘要:题目描述 给定一个二叉树,原地将它展开为一个单链表。 示例: 例如,给定二叉树 1 / \ 2 5 / \ \ 3 4 6 将其展开为: 1 \ 2 \ 3 \ 4 \ 5 \ 6 题目链接: https://leetcode-cn.com/problems/flatten-binary-tree- 阅读全文
posted @ 2020-07-05 15:55 Flix 阅读(208) 评论(0) 推荐(0)
摘要:题目描述 给定不同面额的硬币和一个总金额。写出函数来计算可以凑成总金额的硬币组合数。假设每一种面额的硬币有无限个。 示例: 输入: amount = 5, coins = [1, 2, 5] 输出: 4 解释: 有四种方式可以凑成总金额: 5=5 5=2+2+1 5=2+1+1+1 5=1+1+1+ 阅读全文
posted @ 2020-07-04 11:00 Flix 阅读(225) 评论(0) 推荐(0)
摘要:题目描述 将一个按照升序排列的有序数组,转换为一棵高度平衡二叉搜索树。 本题中,一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1。 示例: 给定有序数组: [-10,-3,0,5,9], 一个可能的答案是:[0,-3,9,-10,null,5],它可以表示下面这个高 阅读全文
posted @ 2020-07-03 22:23 Flix 阅读(175) 评论(0) 推荐(0)
摘要:题目描述 请实现一个函数按照之字形顺序打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右到左的顺序打印,第三行再按照从左到右的顺序打印,其他行以此类推。 示例: 给定二叉树: [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7 返回其层次遍历结果: [ 阅读全文
posted @ 2020-07-03 10:53 Flix 阅读(286) 评论(0) 推荐(0)