摘要:
781. 森林中的兔子 Difficulty: 中等 森林中,每个兔子都有颜色。其中一些兔子(可能是全部)告诉你还有多少其他的兔子和自己有相同的颜色。我们将这些回答放在 answers 数组里。 返回森林中兔子的最少数量。 示例: 输入: answers = [1, 1, 2] 输出: 5 解释: 阅读全文
摘要:
42. 接雨水 Difficulty: 困难 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。 示例 1: 输入:height = [0,1,0,2,1,0,1,3,2,1,2,1] 输出:6 解释:上面是由数组 [0,1,0,2,1,0,1,3,2 阅读全文
摘要:
90. 子集 II Difficulty: 中等 示例 1: 输入:nums = [1,2,2] 输出:[[],[1],[1,2],[1,2,2],[2],[2,2]] 示例 2: 输入:nums = [0] 输出:[[],[0]] 提示: 1 ⇐ nums.length ⇐ 10 -10 ⇐ nu 阅读全文
摘要:
78. 子集 Difficulty: 中等 给你一个整数数组 nums ,数组中的元素 互不相同 。返回该数组所有可能的子集(幂集)。 解集 不能 包含重复的子集。你可以按 任意顺序 返回解集。 示例 1: 输入:nums = [1,2,3] 输出:[[],[1],[2],[1,2],[3],[1, 阅读全文
摘要:
1006. 笨阶乘 Difficulty: 中等 通常,正整数 n 的阶乘是所有小于或等于 n 的正整数的乘积。例如,factorial(10) = 10 * 9 * 8 * 7 * 6 * 5 * 4 * 3 * 2 * 1。 相反,我们设计了一个笨阶乘 clumsy:在整数的递减序列中,我们以一 阅读全文
摘要:
81. 搜索旋转排序数组 II Difficulty: 中等 假设按照升序排序的数组在预先未知的某个点上进行了旋转。 ( 例如,数组 [0,0,1,2,2,5,6] 可能变为 [2,5,6,0,0,1,2] )。 编写一个函数来判断给定的目标值是否存在于数组中。若存在返回 true,否则返回 fal 阅读全文
摘要:
190. 颠倒二进制位 Difficulty: 简单 颠倒给定的 32 位无符号整数的二进制位。 提示: 请注意,在某些语言(如 Java)中,没有无符号整数类型。在这种情况下,输入和输出都将被指定为有符号整数类型,并且不应影响您的实现,因为无论整数是有符号的还是无符号的,其内部的二进制表示形式都是 阅读全文
摘要:
145. 二叉树的后序遍历 Difficulty: 中等 给定一个二叉树,返回它的 _后序 _遍历。 示例: 输入: [1,null,2,3] 1 \ 2 / 3 输出: [3,2,1] 进阶: 递归算法很简单,你可以通过迭代算法完成吗? Solution 迭代 二叉树的后序遍历,即“左右根”,有一 阅读全文
摘要:
94. 二叉树的中序遍历 Difficulty: 中等 给定一个二叉树的根节点 root ,返回它的 中序 遍历。 示例 1: 输入:root = [1,null,2,3] 输出:[1,3,2] 示例 2: 输入:root = [] 输出:[] 示例 3: 输入:root = [1] 输出:[1] 阅读全文
摘要:
557. 反转字符串中的单词 III Difficulty: 简单 给定一个字符串,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序。 示例: 输入:"Let's take LeetCode contest" 输出:"s'teL ekat edoCteeL tsetnoc" 提示 阅读全文
摘要:
541. 反转字符串 II Difficulty: 简单 给定一个字符串 s 和一个整数 k,你需要对从字符串开头算起的每隔 2k 个字符的前 k 个字符进行反转。 如果剩余字符少于 k 个,则将剩余字符全部反转。 如果剩余字符小于 2k 但大于或等于 k 个,则反转前 k 个字符,其余字符保持原样 阅读全文
摘要:
151. 翻转字符串里的单词 Difficulty: 中等 给定一个字符串,逐个翻转字符串中的每个单词。 说明: 无空格字符构成一个 单词 。 输入字符串可以在前面或者后面包含多余的空格,但是反转后的字符不能包括。 如果两个单词间有多余的空格,将反转后单词间的空格减少到只含一个。 示例 1: 输入: 阅读全文
摘要:
186. 翻转字符串里的单词 II Difficulty: 中等 给定一个字符串,逐个翻转字符串中的每个单词。 示例: 输入: ["t","h","e"," ","s","k","y"," ","i","s"," ","b","l","u","e"] 输出: ["b"," 阅读全文
摘要:
189. 旋转数组 Difficulty: 中等 给定一个数组,将数组中的元素向右移动 k个位置,其中 k是非负数。 进阶: 尽可能想出更多的解决方案,至少有三种不同的方法可以解决这个问题。 你可以使用空间复杂度为 O(1) 的 **原地 **算法解决这个问题吗? 示例 1: 输入: nums = 阅读全文
摘要:
61. 旋转链表 Difficulty: 中等 给你一个链表的头节点 head ,旋转链表,将链表每个节点向右移动 k个位置。 示例 1: 输入:head = [1,2,3,4,5], k = 2 输出:[4,5,1,2,3] 示例 2: 输入:head = [0,1,2], k = 4 输出:[2 阅读全文
摘要:
62. 不同路径 Difficulty: 中等 一个机器人位于一个 m x n网格的左上角 (起始点在下图中标记为 “Start” )。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish” )。 问总共有多少条不同的路径? 示例 1: 输入:m = 3, 阅读全文
摘要:
43. 字符串相乘 Difficulty: 中等 给定两个以字符串形式表示的非负整数 num1 和 num2,返回 num1 和 num2 的乘积,它们的乘积也表示为字符串形式。 示例 1: 输入: num1 = "2", num2 = "3" 输出: "6" 示例 2: 输入: num1 = "1 阅读全文
摘要:
40. 组合总和 II Difficulty: 中等 给定一个数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。 candidates 中的每个数字在每个组合中只能使用一次。 说明: 所有数字(包括目标数)都是正整数。 阅读全文
摘要:
79. 单词搜索 Difficulty: 中等 给定一个二维网格和一个单词,找出该单词是否存在于网格中。 单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母不允许被重复使用。 示例: board = [ ['A','B','C 阅读全文
摘要:
1143. 最长公共子序列 Difficulty: 中等 给定两个字符串 text1 和 text2,返回这两个字符串的最长公共子序列的长度。 一个字符串的 _子序列 _是指这样一个新的字符串:它是由原字符串在不改变字符的相对顺序的情况下删除某些字符(也可以不删除任何字符)后组成的新字符串。 例如, 阅读全文
摘要:
55. 跳跃游戏 Difficulty: 中等 给定一个非负整数数组 nums ,你最初位于数组的 第一个下标 。 数组中的每个元素代表你在该位置可以跳跃的最大长度。 判断你是否能够到达最后一个下标。 示例 1: 输入:nums = [2,3,1,1,4] 输出:true 解释:可以先跳 1 步,从 阅读全文
摘要:
48. 旋转图像 Difficulty: 中等 给定一个 _n _× n 的二维矩阵 matrix 表示一个图像。请你将图像顺时针旋转 90 度。 你必须在 旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要 使用另一个矩阵来旋转图像。 示例 1: 输入:matrix = [[1,2,3],[4 阅读全文
摘要:
93. 复原 IP 地址 Difficulty: 中等 给定一个只包含数字的字符串,用以表示一个 IP 地址,返回所有可能从 s 获得的 有效 IP 地址 。你可以按任何顺序返回答案。 有效 IP 地址 正好由四个整数(每个整数位于 0 到 255 之间组成,且不能含有前导 0),整数之间用 '.' 阅读全文
摘要:
456. 132模式 Difficulty: 中等 给你一个整数数组 nums ,数组中共有 n 个整数。132 模式的子序列 由三个整数 nums[i]、nums[j] 和 nums[k] 组成,并同时满足:i < j < k 和 nums[i] < nums[k] < nums[j] 。 如果 阅读全文
摘要:
341. 扁平化嵌套列表迭代器 Difficulty: 中等 给你一个嵌套的整型列表。请你设计一个迭代器,使其能够遍历这个整型列表中的所有整数。 列表中的每一项或者为一个整数,或者是另一个列表。其中列表的元素也可能是整数或是其他列表。 示例 1: 输入: [[1,1],2,[1,1]] 输出: [1 阅读全文
摘要:
73. 矩阵置零 Difficulty: 中等 给定一个 _m_ x _n_ 的矩阵,如果一个元素为 0 ,则将其所在行和列的所有元素都设为 0 。请使用 算法**。** 进阶: 一个直观的解决方案是使用 O(_m__n_) 的额外空间,但这并不是一个好的解决方案。 一个简单的改进方案是使用 O(_ 阅读全文
摘要:
47. 全排列 II Difficulty: 中等 给定一个可包含重复数字的序列 nums ,按任意顺序 返回所有不重复的全排列。 示例 1: 输入:nums = [1,1,2] 输出: [[1,1,2], [1,2,1], [2,1,1]] 示例 2: 输入:nums = [1,2,3] 输出:[ 阅读全文
摘要:
46. 全排列 Difficulty: 中等 给定一个 没有重复 数字的序列,返回其所有可能的全排列。 示例: 输入: [1,2,3] 输出: [ [1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], [3,2,1] ] Solution 全排列系列第一题,涉及到 阅读全文
摘要:
115. 不同的子序列 Difficulty: 困难 给定一个字符串 s和一个字符串 t ,计算在 s 的子序列中 t 出现的个数。 字符串的一个 子序列 是指,通过删除一些(也可以不删除)字符且不干扰剩余字符相对位置所组成的新字符串。(例如,"ACE" 是 "ABCDE" 的一个子序列,而 "AE 阅读全文
摘要:
Spark的逻辑处理流程主要分为四个部分: 数据源:可以是hdfs、分布式kv数据(Hbase)、本地文件等等 数据模型:RDD(分布式弹性数据集)是Spark的核心概念,即输入、输出、中间数据抽象表示为统一的数据模型 数据操作:主要分为transformation和action两种操作 处理数据的 阅读全文
摘要:
59. 螺旋矩阵 II Difficulty: 中等 给你一个正整数 n ,生成一个包含 1 到 n<sup>2</sup> 所有元素,且元素按顺时针顺序螺旋排列的 n x n 正方形矩阵 matrix 。 示例 1: 输入:n = 3 输出:[[1,2,3],[8,9,4],[7,6,5]] 示例 阅读全文
摘要:
54. 螺旋矩阵 Difficulty: 中等 给你一个 m 行 n 列的矩阵 matrix ,请按照 顺时针螺旋顺序 ,返回矩阵中的所有元素。 示例 1: 输入:matrix = [[1,2,3],[4,5,6],[7,8,9]] 输出:[1,2,3,6,9,8,7,4,5] 示例 2: 输入:m 阅读全文
摘要:
Spark的系统架构 Spark采用master/worker结构,master负责管理应用和任务,worker节点负责执行任务。 几个概念 Spark driver,Spark驱动程序,指的是Spark应用中main函数的进程 Executor,Spark执行器,是Spark计算资源的一个单位,S 阅读全文
摘要:
169. 多数元素 Difficulty: 简单 给定一个大小为 n 的数组,找到其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊ n/2 ⌋ 的元素。 你可以假设数组是非空的,并且给定的数组总是存在多数元素。 示例 1: 输入:[3,2,3] 输出:3 示例 2: 输入:[2,2,1,1,1 阅读全文
摘要:
剑指 Offer 52. 两个链表的第一个公共节点 Difficulty: 简单 输入两个链表,找出它们的第一个公共节点。 如下面的两个链表**:** 在节点 c1 开始相交。 示例 1: 输入:intersectVal = 8, listA = [4,1,8,4,5], listB = [5,0, 阅读全文
摘要:
剑指 Offer 50. 第一个只出现一次的字符 Difficulty: 简单 在字符串 s 中找出第一个只出现一次的字符。如果没有,返回一个单空格。 s 只包含小写字母。 示例: s = "abaccdeff" 返回 "b" s = "" 返回 " " 限制: 0 <= s 的长度 <= 5000 阅读全文
摘要:
74. 搜索二维矩阵 Difficulty: 中等 编写一个高效的算法来判断 m x n 矩阵中,是否存在一个目标值。该矩阵具有如下特性: 每行中的整数从左到右按升序排列。 每行的第一个整数大于前一行的最后一个整数。 示例 1: 输入:matrix = [[1,3,5,7],[10,11,16,20 阅读全文
摘要:
191. 位1的个数 Difficulty: 简单 编写一个函数,输入是一个无符号整数(以二进制串的形式),返回其二进制表达式中数字位数为 '1' 的个数(也被称为)。 提示: 请注意,在某些语言(如 Java)中,没有无符号整数类型。在这种情况下,输入和输出都将被指定为有符号整数类型,并且不应影响 阅读全文
摘要:
70. 爬楼梯 Difficulty: 简单 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢? **注意:**给定 n 是一个正整数。 示例 1: 输入: 2 输出: 2 解释: 有两种方法可以爬到楼顶。 1\. 1 阶 + 1 阅读全文
摘要:
剑指 Offer 10- I. 斐波那契数列 Difficulty: 简单 写一个函数,输入 n ,求斐波那契(Fibonacci)数列的第 n 项(即 F(N))。斐波那契数列的定义如下: F(0) = 0, F(1) = 1 F(N) = F(N - 1) + F(N - 2), 其中 N > 阅读全文