摘要: 219. 存在重复元素 II Difficulty: 简单 给定一个整数数组和一个整数 k,判断数组中是否存在两个不同的索引_ i_ 和_ j_,使得 nums [i] = nums [j],并且 i 和 j 的差的 绝对值 至多为 k。 示例 1: 输入: nums = [1,2,3,1], k 阅读全文
posted @ 2021-03-10 11:22 swordspoet 阅读(30) 评论(0) 推荐(0)
摘要: 75. 颜色分类 Difficulty: 中等 给定一个包含红色、白色和蓝色,一共 n个元素的数组,对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。 此题中,我们使用整数 0、 1 和 2 分别表示红色、白色和蓝色。 示例 1: 输入:nums = [2,0,2,1,1,0] 阅读全文
posted @ 2021-03-10 10:43 swordspoet 阅读(39) 评论(0) 推荐(0)
摘要: 57. 插入区间 Difficulty: 中等 给你一个 无重叠的,按照区间起始端点排序的区间列表。 在列表中插入一个新的区间,你需要确保列表中的区间仍然有序且不重叠(如果有必要的话,可以合并区间)。 示例 1: 输入:intervals = [[1,3],[6,9]], newInterval = 阅读全文
posted @ 2021-03-10 10:34 swordspoet 阅读(46) 评论(0) 推荐(0)
摘要: 56. 合并区间 Difficulty: 中等 以数组 intervals 表示若干个区间的集合,其中单个区间为 intervals[i] = [start<sub style="display: inline;">i</sub>, end<sub style="display: inline;"> 阅读全文
posted @ 2021-03-10 10:28 swordspoet 阅读(49) 评论(0) 推荐(0)
摘要: 215. 数组中的第K个最大元素 Difficulty: 中等 在未排序的数组中找到第 k 个最大的元素。请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。 示例 1: 输入: [3,2,1,5,6,4] 和 k = 2 输出: 5 示例 2: 输入: [3,2,3, 阅读全文
posted @ 2021-03-10 10:03 swordspoet 阅读(49) 评论(0) 推荐(0)
摘要: 912. 排序数组 Difficulty: 中等 给你一个整数数组 nums,请你将该数组升序排列。 示例 1: 输入:nums = [5,2,3,1] 输出:[1,2,3,5] 示例 2: 输入:nums = [5,1,1,2,0,0] 输出:[0,0,1,1,2,5] 提示: 1 <= nums 阅读全文
posted @ 2021-03-09 23:18 swordspoet 阅读(67) 评论(0) 推荐(0)
摘要: 剑指 Offer 45. 把数组排成最小的数 Difficulty: 中等 输入一个非负整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。 示例 1: 输入: [10,2] 输出: "102" 示例 2: 输入: [3,30,34,5,9] 输出: "3033459" 阅读全文
posted @ 2021-03-08 22:37 swordspoet 阅读(39) 评论(0) 推荐(0)
摘要: 154. 寻找旋转排序数组中的最小值 II Difficulty: 困难 假设按照升序排序的数组在预先未知的某个点上进行了旋转。 ( 例如,数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2] )。 请找出其中最小的元素。 注意数组中可能存在重复的元素。 示例 1: 输入: 阅读全文
posted @ 2021-03-08 22:36 swordspoet 阅读(56) 评论(0) 推荐(0)
摘要: 153. 寻找旋转排序数组中的最小值 Difficulty: 中等 假设按照升序排序的数组在预先未知的某个点上进行了旋转。例如,数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2] 。 请找出其中最小的元素。 示例 1: 输入:nums = [3,4,5,1,2] 输出:1 阅读全文
posted @ 2021-03-08 22:33 swordspoet 阅读(55) 评论(0) 推荐(0)
摘要: map/reduce数量的多少是如何决定的? input目录下文件的大小和数量决定map任务的数量 假设input目录下有1个文件a,大小为780M,那么hadoop会将该文件a分隔成7个块(6个128m的块和1个12m的块),从而产生7个map数 假设input目录下有3个文件a,b,c,大小分别 阅读全文
posted @ 2021-03-08 11:32 swordspoet 阅读(191) 评论(0) 推荐(0)
摘要: 225. 用队列实现栈 Difficulty: 简单 请你仅使用两个队列实现一个后入先出(LIFO)的栈,并支持普通队列的全部四种操作(push、top、pop 和 empty)。 实现 MyStack 类: void push(int x) 将元素 x 压入栈顶。 int pop() 移除并返回栈 阅读全文
posted @ 2021-03-07 22:25 swordspoet 阅读(60) 评论(0) 推荐(0)
摘要: 剑指 Offer 07. 重建二叉树 Difficulty: 中等 输入某二叉树的前序遍历和中序遍历的结果,请重建该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。 例如,给出 前序遍历 preorder = [3,9,20,15,7] 中序遍历 inorder = [9,3,15,2 阅读全文
posted @ 2021-03-07 21:35 swordspoet 阅读(19) 评论(0) 推荐(0)
摘要: 剑指 Offer 09. 用两个栈实现队列 Difficulty: 简单 用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,deleteHead 操作返回 -1 ) 示 阅读全文
posted @ 2021-03-06 18:09 swordspoet 阅读(55) 评论(0) 推荐(0)
摘要: 剑指 Offer 06. 从尾到头打印链表 Difficulty: 简单 输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。 示例 1: 输入:head = [1,3,2] 输出:[2,3,1] 限制: 0 <= 链表长度 <= 10000 Solution 简单题,考察反转链表, 阅读全文
posted @ 2021-03-05 22:58 swordspoet 阅读(31) 评论(0) 推荐(0)
摘要: 240. 搜索二维矩阵 II Difficulty: 中等 编写一个高效的算法来搜索 _m_ x _n_ 矩阵 matrix 中的一个目标值 target 。该矩阵具有以下特性: 每行的元素从左到右升序排列。 每列的元素从上到下升序排列。 示例 1: 输入:matrix = [[1,4,7,11,1 阅读全文
posted @ 2021-03-04 22:03 swordspoet 阅读(87) 评论(0) 推荐(0)
摘要: Hive的执行过程: (1) Hive 将 HQL 转换成一组操作符(Operator),比如 GroupByOperator, JoinOperator 等 (2)操作符 Operator 是 Hive 的最小处理单元 (3)每个操作符代表一个 HDFS 操作或者 MapReduce 作业 (4) 阅读全文
posted @ 2021-03-04 14:03 swordspoet 阅读(254) 评论(0) 推荐(0)
摘要: GROUPING SETS可以实现在一个SQL语句中对多个维度同时做聚合计算,省去了对多个聚合结果UNION ALL的操作,非常方便。 with a as ( select 'a' col1,'aa' col2,1 num union all select 'a' col1,'ab' col2,2 阅读全文
posted @ 2021-03-04 13:58 swordspoet 阅读(190) 评论(0) 推荐(0)
摘要: 39. 组合总和 Difficulty: 中等 给定一个无重复元素的数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。 candidates 中的数字可以无限制重复被选取。 说明: 所有数字(包括 target)都是正整 阅读全文
posted @ 2021-02-08 22:59 swordspoet 阅读(60) 评论(0) 推荐(0)
摘要: 38. 外观数列 Difficulty: 简单 给定一个正整数 n ,输出外观数列的第 n 项。 「外观数列」是一个整数序列,从数字 1 开始,序列中的每一项都是对前一项的描述。 你可以将其视作是由递归公式定义的数字字符串序列: countAndSay(1) = "1" countAndSay(n) 阅读全文
posted @ 2021-02-08 22:23 swordspoet 阅读(51) 评论(0) 推荐(0)
摘要: 33. 搜索旋转排序数组 Difficulty: 中等 升序排列的整数数组 nums 在预先未知的某个点上进行了旋转(例如, [0,1,2,4,5,6,7] 经旋转后可能变为 [4,5,6,7,0,1,2] )。 请你在数组中搜索 target ,如果数组中存在这个目标值,则返回它的索引,否则返回  阅读全文
posted @ 2021-02-07 22:46 swordspoet 阅读(75) 评论(0) 推荐(0)
摘要: 31. 下一个排列 Difficulty: 中等 实现获取 下一个排列 的函数,算法需要将给定数字序列重新排列成字典序中下一个更大的排列。 如果不存在下一个更大的排列,则将数字重新排列成最小的排列(即升序排列)。 必须修改,只允许使用额外常数空间。 示例 1: 输入:nums = [1,2,3] 输 阅读全文
posted @ 2021-02-06 21:28 swordspoet 阅读(39) 评论(0) 推荐(0)
摘要: 34. 在排序数组中查找元素的第一个和最后一个位置 Difficulty: 中等 给定一个按照升序排列的整数数组 nums,和一个目标值 target。找出给定目标值在数组中的开始位置和结束位置。 如果数组中不存在目标值 target,返回 [-1, -1]。 进阶: 你可以设计并实现时间复杂度为  阅读全文
posted @ 2021-02-06 13:21 swordspoet 阅读(69) 评论(0) 推荐(0)
摘要: 29. 两数相除 Difficulty: 中等 给定两个整数,被除数 dividend 和除数 divisor。将两数相除,要求不使用乘法、除法和 mod 运算符。 返回被除数 dividend 除以除数 divisor 得到的商。 整数除法的结果应当截去(truncate)其小数部分,例如:tru 阅读全文
posted @ 2021-02-04 14:04 swordspoet 阅读(68) 评论(0) 推荐(0)
摘要: 22. 括号生成 Difficulty: 中等 数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。 示例 1: 输入:n = 3 输出:["((()))","(()())","(())()","()(())","()()()"] 示例 2: 输入:n = 阅读全文
posted @ 2021-02-02 19:22 swordspoet 阅读(52) 评论(0) 推荐(0)
摘要: 1. 两数之和 Difficulty: 简单 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 的那 两个 整数,并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。 你可以按任意顺序返回答案。 示例 1: 输入: 阅读全文
posted @ 2021-02-01 22:19 swordspoet 阅读(55) 评论(0) 推荐(0)
摘要: 17. 电话号码的字母组合 Difficulty: 中等 给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。答案可以按 任意顺序 返回。 给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。 示例 1: 输入:digits = "23" 输出:["ad","ae", 阅读全文
posted @ 2021-01-31 16:28 swordspoet 阅读(65) 评论(0) 推荐(0)
摘要: 18. 四数之和 Difficulty: 中等 给定一个包含 n 个整数的数组 nums 和一个目标值 target,判断 nums 中是否存在四个元素 _a,_b,c 和 d ,使得 a + b + c + d 的值与 target 相等?找出所有满足条件且不重复的四元组。 注意: 答案中不可以包 阅读全文
posted @ 2021-01-31 15:14 swordspoet 阅读(56) 评论(0) 推荐(0)
摘要: 16. 最接近的三数之和 Difficulty: 中等 给定一个包括 n 个整数的数组 nums和 一个目标值 target。找出 nums中的三个整数,使得它们的和与 target 最接近。返回这三个数的和。假定每组输入只存在唯一答案。 示例: 输入:nums = [-1,2,1,-4], tar 阅读全文
posted @ 2021-01-31 14:21 swordspoet 阅读(64) 评论(0) 推荐(0)
摘要: 15. 三数之和 Difficulty: 中等 给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 _a,b,c ,_使得 a + b + c = 0 ?请你找出所有和为 0 且不重复的三元组。 **注意:**答案中不可以包含重复的三元组。 示例 1: 输入:nums = 阅读全文
posted @ 2021-01-30 14:03 swordspoet 阅读(48) 评论(0) 推荐(0)
摘要: 12. 整数转罗马数字 Difficulty: 中等 罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。 字符 数值 I 1 V 5 X 10 L 50 C 100 D 500 M 1000 例如, 罗马数字 2 写做 II ,即为两个并列的 1。12 写做 XII ,即为 X +  阅读全文
posted @ 2021-01-30 11:19 swordspoet 阅读(84) 评论(1) 推荐(0)
摘要: 8. 字符串转换整数 (atoi) Difficulty: 中等 请你来实现一个 myAtoi(string s) 函数,使其能将字符串转换成一个 32 位有符号整数(类似 C/C++ 中的 atoi 函数)。 函数 myAtoi(string s) 的算法如下: 读入字符串并丢弃无用的前导空格 检 阅读全文
posted @ 2021-01-21 23:08 swordspoet 阅读(75) 评论(0) 推荐(0)
摘要: 3. 无重复字符的最长子串 Difficulty: 中等 给定一个字符串,请你找出其中不含有重复字符的 **最长子串 **的长度。 示例 1: 输入: s = "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。 示例 2: 输入: s = "bbbb 阅读全文
posted @ 2021-01-10 22:14 swordspoet 阅读(52) 评论(0) 推荐(0)
摘要: 1290. 二进制链表转整数 Difficulty: 简单 给你一个单链表的引用结点 head。链表中每个结点的值不是 0 就是 1。已知此链表是一个整数数字的二进制表示形式。 请你返回该链表所表示数字的 十进制值 。 示例 1: 输入:head = [1,0,1] 输出:5 解释:二进制数 (10 阅读全文
posted @ 2021-01-05 23:05 swordspoet 阅读(68) 评论(0) 推荐(0)
摘要: 1171. 从链表中删去总和值为零的连续节点 Difficulty: 中等 给你一个链表的头节点 head,请你编写代码,反复删去链表中由 总和 值为 0 的连续节点组成的序列,直到不存在这样的序列为止。 删除完毕后,请你返回最终结果链表的头节点。 你可以返回任何满足题目要求的答案。 (注意,下面示 阅读全文
posted @ 2021-01-03 15:23 swordspoet 阅读(200) 评论(0) 推荐(0)
摘要: 1019. 链表中的下一个更大节点 Difficulty: 中等 给出一个以头节点 head 作为第一个节点的链表。链表中的节点分别编号为:node_1, node_2, node_3, ... 。 每个节点都可能有下一个更大值(next larger value):对于 node_i,如果其 ne 阅读全文
posted @ 2021-01-02 22:12 swordspoet 阅读(161) 评论(0) 推荐(0)
摘要: 817. 链表组件 Difficulty: 中等 给定链表头结点 head,该链表上的每个结点都有一个 唯一的整型值 。 同时给定列表 G,该列表是上述链表中整型值的一个子集。 返回列表 G 中组件的个数,这里对组件的定义为:链表中一段最长连续结点的值(该值必须在列表 G 中)构成的集合。 示例 1 阅读全文
posted @ 2021-01-02 20:34 swordspoet 阅读(70) 评论(0) 推荐(0)
摘要: 1669. 合并两个链表 Difficulty: 中等 给你两个链表 list1 和 list2 ,它们包含的元素分别为 n 个和 m 个。 请你将 list1 中第 a 个节点到第 b 个节点删除,并将list2 接在被删除节点的位置。 下图中蓝色边和节点展示了操作后的结果: 请你返回结果链表的头 阅读全文
posted @ 2021-01-01 14:06 swordspoet 阅读(117) 评论(0) 推荐(0)
摘要: 725. 分隔链表 Difficulty: 中等 给定一个头结点为 root 的链表, 编写一个函数以将链表分隔为 k 个连续的部分。 每部分的长度应该尽可能的相等: 任意两部分的长度差距不能超过 1,也就是说可能有些部分为 null。 这k个部分应该按照在链表中出现的顺序进行输出,并且排在前面的部 阅读全文
posted @ 2021-01-01 12:33 swordspoet 阅读(58) 评论(0) 推荐(0)
摘要: 876. 链表的中间结点 Difficulty: 简单 给定一个头结点为 head 的非空单链表,返回链表的中间结点。 如果有两个中间结点,则返回第二个中间结点。 示例 1: 输入:[1,2,3,4,5] 输出:此列表中的结点 3 (序列化形式:[3,4,5]) 返回的结点值为 3 。 (测评系统对 阅读全文
posted @ 2021-01-01 11:08 swordspoet 阅读(69) 评论(0) 推荐(0)
摘要: 160. 相交链表 Difficulty: 简单 编写一个程序,找到两个单链表相交的起始节点。 如下面的两个链表**:** 在节点 c1 开始相交。 示例 1: 输入:intersectVal = 8, listA = [4,1,8,4,5], listB = [5,0,1,8,4,5], skip 阅读全文
posted @ 2020-12-30 21:26 swordspoet 阅读(78) 评论(0) 推荐(0)