2 有心有梦

尚未进行身份认证

我要认证

暂无相关简介

等级
TA的排名 30w+

组合总和 III(力扣第216题)

题目:  找出所有相加之和为n 的k个数的组合。组合中只允许含有 1 -9 的正整数,并且每种组合中不存在重复的数字。说明:  所有数字都是正整数。  解集不能包含重复的组合。示例:输入: k = 3, n = 7输出: [[1,2,4]]分析:  明确题目的限制条件:1、组合中只允许存在1-9的数字;2、组合中元素的个数是k个;3、k个1-9范围内的数相加之和为n;4、组合中的元素不允许重复  可见,限制条件有很多,还是采用DFS和回溯的方法求解,只不过现在...

2020-07-19 19:20:22

组合总和 II(力扣第40题)

题目:给定一个数组candidates和一个目标数target,找出candidates中所有可以使数字和为target的组合。candidates中的每个数字在每个组合中只能使用一次。说明:所有数字(包括目标数)都是正整数。解集不能包含重复的组合。示例:输入: candidates = [10,1,2,7,6,1,5], target = 8,所求解集为:[[1, 7],[1, 2, 5],[2, 6],[1, 1, 6]]分析:主要对比一...

2020-07-10 00:08:42

组合总和 I(力扣第39题)

题目:给定一个无重复元素的数组candidates和一个目标数target,找出candidates中所有可以使数字和为target的组合。candidates中的数字可以无限制重复被选取。说明:所有数字(包括target)都是正整数。解集不能包含重复的组合。示例:输入: candidates = [2,3,6,7], target = 7,所求解集为:[ [7], [2,2,3]]分析:  给定的数组中的元素是不重复的,但是数组中的元...

2020-07-10 00:08:00

组合(力扣第77题)

题目:给定两个整数n和k,返回 1 ...n中所有可能的k个数的组合。示例:输入: n = 4, k = 2输出:[ [2,4], [3,4], [2,3], [1,2], [1,3], [1,4],]分析:  这是一个组合问题,所以结果顺序不同并不会影响结果,不同的结果组合中构成的元素成分是一样的那么这些结果组合就是相同的,同时题目也规定了搜索路径的长度,搜索的长度等于规定长度,那么搜索随即终止。那么首先,想到的就是利用DFS和回溯的思想解...

2020-07-07 12:42:05

使用MapReduce解决蚂蚁森林第二题

问题:查询user_low_carbon表中每日流水记录,条件为:  用户在2017年,连续三天(或以上)的天数里,每天减少碳排放(low_carbon)都超过100g的用户低碳流水。  需要查询返回满足以上条件的user_low_carbon表中的记录流水。例如用户u_002符合条件的记录如下,因为2017/1/2~2017/1/5连续四天的碳排放量之和都大于等于100g:seq(key) user_id data_dt low_carbonxxxxx10 u_002 2017

2020-07-06 15:58:38

全排列 II(力扣第47题)

题目:给定一个可包含重复数字的序列,返回所有不重复的全排列。示例:输入: [1,1,2]输出:[ [1,1,2], [1,2,1], [2,1,1]]分析:  这个题和全排列一的不同之处在于,它给定的一组元素含有重复的元素存在,那么我们进行深度递归搜索的时候,选择下一步搜索的元素的时候就要修改原先再全排列一中的判断条件了。那么满足什么条件,才能作为当前元素的下一步搜索选择呢?  首先我们从最开始进行分析,给定一组带有重复的元素,一个含有n个,最开始的可选的元素个数为去

2020-07-06 09:37:48

二叉树的所有路径(力扣257题)

题目:给定一个二叉树,返回所有从根节点到叶子节点的路径。说明:叶子节点是指没有子节点的节点。示例:输入: 1 / \2 3 \ 5输出: ["1->2->5", "1->3"]解释: 所有根节点到叶子节点的路径为: 1->2->5, 1->3分析:求出所有的路径,本质还是递归回溯,遍历所有可能的从根节点到叶子节点的路径,由于是二叉树的缘故,所以每次向下搜索时,可选的走向就只有两个,左孩子和右孩子,因为是求所有的路径.

2020-07-05 21:44:49

全排列(力扣第46题)

题目:给定一个 没有重复数字的序列,返回其所有可能的全排列。示例:输入: [1,2,3]输出:[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]分析:  求给定一组数的全排列,也就是排列组合问题,所以属于Backtracking(回溯)问题,通过DFS解决,只不过需要注意的是,我们一般使用DFS的时候都会设置一个访问标记的数组,用于保证深度递归的过程中,某一个元素不会被重复访问,但是由于现在我们要求的是排列组合问题,所以我

2020-07-05 21:30:12

单词搜索(力扣第79题)

题目:  给定一个二维网格和一个单词,找出该单词是否存在于网格中。  单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母不允许被重复使用。示例:board =[ ['A','B','C','E'], ['S','F','C','S'], ['A','D','E','E']]给定 word = "ABCCED", 返回 true给定 word = "SEE", 返回 true给定 word =

2020-06-26 22:35:51

Hive学习----查询操作练习一

题目一:我们有如下的用户访问数据 userId visitDate visitCount u01 2017/1/21 5 u02 2017/1/23 6 u03 2017/1/22 8 u04 2017/1/20

2020-06-25 20:26:27

电话号码的字母组合(力扣第17题)

题目:给定一个仅包含数字2-9的字符串,返回所有它能表示的字母组合。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。示例:输入:"23"输出:["ad", "ae", "af", "bd", "be", "bf", "cd", "ce", "cf"].分析:  这里每一个数字可以认为代表一个点,而这个点是一个包含几个字母的集合,那么从一个数字到另一个数字本质就是寻求从这个数字包含的字母集合中挑选一个字母然后与下一个数字包含的字母集合挑选一个...

2020-06-24 23:35:45

太平洋大西洋水流问题(力扣第417题)

题目:  给定一个 m x n 的非负整数矩阵来表示一片大陆上各个单元格的高度。“太平洋”处于大陆的左边界和上边界,而“大西洋”处于大陆的右边界和下边界。规定水流只能按照上、下、左、右四个方向流动,且只能从高到低或者在同等高度上流动。请找出那些水流既可以流动到“太平洋”,又能流动到“大西洋”的陆地单元的坐标。提示:输出坐标的顺序不重要m 和 n 都小于150示例:给定下面的 5x5 矩阵:太平洋 ~ ~ ~ ~ ~ ~ 1 2 2 3 (5) *~ 3 2 3 (4) (4)

2020-06-23 22:50:01

被围绕的区域(力扣第130题)

题目:给定一个二维的矩阵,包含'X'和'O'(字母 O)。找到所有被'X'围绕的区域,并将这些区域里所有的'O'用'X'填充。示例:X X X XX O O XX X O XX O X X运行你的函数后,矩阵变为:X X X XX X X XX X X XX O X X解释:  被围绕的区间不会存在于边界上,换句话说,任何边界上的'O'都不会被填充为'X'。 任何不在边界上,或不与边界上的'O'相连的'O'最终都会被填充为'X'。...

2020-06-20 22:42:06

朋友圈(力扣第547题)

题目:班上有N名学生。其中有些人是朋友,有些则不是。他们的友谊具有是传递性。如果已知A是B的朋友,B是C的朋友,那么我们可以认为A也是C的朋友。所谓的朋友圈,是指所有朋友的集合。给定一个N * N的矩阵M,表示班级中学生之间的朋友关系。如果M[i][j] = 1,表示已知第 i 个和 j 个学生互为朋友关系,否则为不知道。你必须输出所有学生中的已知的朋友圈总数。示例:输入: [[1,1,0],[1,1,0],[0,0,1]]输出: 2 说明:已知学生0和学生1互为朋友,他们在一个

2020-06-19 20:29:42

岛屿数量(力扣第200题)

题目:  给你一个由'1'(陆地)和 '0'(水)组成的的二维网格,请你计算网格中岛屿的数量。岛屿总是被水包围,并且每座岛屿只能由水平方向或竖直方向上相邻的陆地连接形成。此外,你可以假设该网格的四条边均被水包围。示例:输入:11110110101100000000输出: 1分析:  这个题和之前那个求最大岛屿面积的做法是一样的,只不过求的是所有岛屿的数量。其实就是求给的二维网格图中,连通分量的总数,那么我们就依次遍历二维数组中的每一个点,凡是值为1且未被访问过的点,都进行依.

2020-06-18 20:03:52

岛屿的最大面积(力扣第695题)

题目:给定一个包含了一些 0 和 1 的非空二维数组grid 。一个岛屿是由一些相邻的1(代表土地) 构成的组合,这里的「相邻」要求两个 1 必须在水平或者竖直方向上相邻。你可以假设grid 的四个边缘都被 0(代表水)包围着。找到给定的二维数组中最大的岛屿面积。(如果没有岛屿,则返回面积为 0 。)示例:[[0,0,1,0,0,0,0,1,0,0,0,0,0],[0,0,0,0,0,0,0,1,1,1,0,0,0],[0,1,1,0,1,0,0,0,0,0,0,0,0...

2020-06-17 22:45:01

再论力扣第279题--完全平方数

题目:给定正整数n,找到若干个完全平方数(比如1, 4, 9, 16, ...)使得它们的和等于n。你需要让组成和的完全平方数的个数最少。示例1:输入: n = 12输出: 3 解释: 12 = 4 + 4 + 4.示例2:输入: n = 13输出: 2解释: 13 = 4 + 9.分析:  之前曾做过一次这道题,当时是刚学了动态规划算法,然后正好拿这个题进行练习,通过定义一个状态转移数组,也顺利的解决了,但是经过力扣的测试,运行效率十分地的感人,运行时间长达...

2020-06-16 23:19:58

单词接龙(力扣第127题)

题目:给定两个单词(beginWord和 endWord)和一个字典,找到从beginWord 到endWord 的最短转换序列的长度。转换需遵循如下规则:  每次转换只能改变一个字母。  转换过程中的中间单词必须是字典中的单词。说明:  如果不存在这样的转换序列,返回 0。  所有单词具有相同的长度。  所有单词只由小写字母组成。  字典中不存在重复的单词。  你可以假设 beginWord 和 endWord 是非空的,且二者不相同。示例1:输入:beginWor...

2020-06-16 22:34:21

二进制矩阵中的最短路径(力扣第1091题)

题目:在一个N ×N 的方形网格中,每个单元格有两种状态:空(0)或者阻塞(1)。一条从左上角到右下角、长度为 k 的畅通路径,由满足下述条件的单元格C_1, C_2, ..., C_k组成:  相邻单元格C_i 和C_{i+1}在八个方向之一上连通(此时,C_i 和C_{i+1}不同且共享边或角)  C_1 位于(0, 0)(即,值为grid[0][0])  C_k位于(N-1, N-1)(即,值为grid[N-1][N-1])  如果 C_i 位于(r, ...

2020-06-15 22:24:06

除自身以外的乘积数组(力扣第238题)

题目  给你一个长度为n的整数数组nums,其中n > 1,返回输出数组output,其中 output[i]等于nums中除nums[i]之外其余各元素的乘积。示例:  输入: [1,2,3,4]  输出: [24,12,8,6]提示:题目数据保证数组之中任意元素的全部前缀元素和后缀(甚至是整个数组)的乘积都在 32 位整数范围内。说明: 请不要使用除法,且在O(n) 时间复杂度内完成此题。分析:  不能使用除法,而且时间复杂度是O(n...

2020-06-09 23:01:55

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv3
    勤写标兵Lv3
    授予每个自然周发布7篇到8篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。