随笔分类 -  LeetCode

上一页 1 ··· 6 7 8 9 10 11 12 下一页
摘要:一、题目 1、审题 2、分析 给一个正整数 n,生成 nXn 的矩阵数组,其中数组值为从 1 开始的旋转增加的数值。 二、解答 1、思路: 与 54 题思路类似。 ①、从左向右、右向左时需要判断 top 是否小与 bottom; ②、从上到下、下到上时需要判断 left 是否 小与 right。 注 阅读全文
posted @ 2018-09-17 10:29 skillking2 阅读(103) 评论(0) 推荐(0) 编辑
摘要:一、题目 1、审题 2、分析 给出一个字符串,其中的单词用空格字符间隔,求最后一个单词的长度。 二、解答 1、思路: 方法一、从前向后遍历,用一个初始值为0的变量 lastWordLen 记录长度,当出现空格时 lastWordLen = 0;最终返回 lastWordLen 即可。 注意: 所给字 阅读全文
posted @ 2018-09-17 10:01 skillking2 阅读(136) 评论(0) 推荐(0) 编辑
摘要:一、题目 1、审题 2、分析 给出一组不重叠的间隔数字组成的数组,将一个新的间隔数组插入原来的数组,有重叠的部分则进行合并。 二、解答 1、思路: 方法一、将 newInterval 插入原来的 List,再将 List 的数组进行重叠部分的合并。 方法二、 将 newInterval 与原 Lis 阅读全文
posted @ 2018-09-17 09:26 skillking2 阅读(120) 评论(0) 推荐(0) 编辑
摘要:一、题目 1、审题 2、分析 给出一个装有间隔数字的数组组成的 List(List中数组是无序的),将有重叠部分的数组进行合并。 二、解答 1、思路: 先将 List 中数组根据 start 进行排序,再依次判断是否有重叠(比较前一个的 end 与后一个的 start),再进行合并。 阅读全文
posted @ 2018-09-16 11:00 skillking2 阅读(99) 评论(0) 推荐(0) 编辑
摘要:一、题目 1、审题 2、分析: 给一个非负数组,数组值代表在此位置上的最大跳跃的步数。判断是否可以到达数组的末尾。 二、解答 1、思路: 采用变量 curMax 代表在 index < i 时能跳跃的最大距离,则当 curMax < i 时代表 无法到达位置 i ,即返回 false; 阅读全文
posted @ 2018-09-16 09:41 skillking2 阅读(94) 评论(0) 推荐(0) 编辑
摘要:一、题目 1、审题 2、分析: 给出一个 mXn 的二维数组,旋转着输出数组元素。 二、解答 1、思路: 从左向右、右向左时要判断列越界问题; 从上向下、下向上要判断行越界问题; 阅读全文
posted @ 2018-09-15 18:07 skillking2 阅读(76) 评论(0) 推荐(0) 编辑
摘要:一、题目 1、审题 2、分析: 给出一个整形数组(可能全是负数),求连续的子数组的最大的和。 二、解答 1、思路: 方法一、动态规划 令 maxNum 代表最大和,tmpMaxNum 代表临时最大和。 当向后扫描时,对第 j 个元素有两种选择,要么放入前面的子数组,要么作为新数组的第一个元素; 如果 阅读全文
posted @ 2018-09-15 14:39 skillking2 阅读(104) 评论(0) 推荐(0) 编辑
摘要:一、题目 1、审题 2、分析: 输入数字n, 求 n-皇后问题存在几个解。 二、解答 1、思路: 同上一题,只是采用一个参数对解的个数进行记录,最终 DFS 返回的即为所求解个数。 阅读全文
posted @ 2018-09-15 11:34 skillking2 阅读(123) 评论(0) 推荐(0) 编辑
摘要:一、题目 1、审题 2、分析: n-皇后问题: 一个 n X n的棋盘,其中,每一行、每一列、每一斜行、每一反斜行都不能有重复的皇后,输出所有的可能。 二、解答 1、思路: 典型的回溯思想,运用 DFS 方法进行求解。其中: ①、斜行: [i-1][j-1] ②、 反斜行: [i-1][j+1] 阅读全文
posted @ 2018-09-14 11:17 skillking2 阅读(131) 评论(0) 推荐(0) 编辑
摘要:一、题目 1、审题 2、分析: 实现 pow(x, n) 方法,计算 x 的 n 次方; 其中 -100 < x < 100; n 的范围是有符号整形,即 -2147483648 < n < 2147483647; 二、解答 1、思路: 若依次相乘, n--,则会时间溢出。 方法一、利用 x*x 时 阅读全文
posted @ 2018-09-12 16:09 skillking2 阅读(114) 评论(0) 推荐(0) 编辑
摘要:一、题目 1、审题 2、分析: 给出一个字符串数组,将其中字符串中所含字母相同仅仅顺序不同的字符串归为一类,记录所有分类。 二、解答 1、思路: 方法一、利用 Java 封装的方法进行实现: ①、将字符串元素转为字符数组,进行排序,后重新转为有序的字符串; ②、新建一个 Map<String, Li 阅读全文
posted @ 2018-09-12 15:26 skillking2 阅读(102) 评论(0) 推荐(0) 编辑
摘要:一、题目 1、审题 2、分析: 给出一个二维数组代表的矩阵,求得矩阵顺时针旋转90度后的新矩阵。 二、解答 1、思路: 方法一、观察可知,原矩阵与新矩阵的对应关系如下: ①、原矩阵的列 == 新矩阵的行; ②、原矩阵的行 + 新矩阵的列 == 矩阵的最大行号 故借助一个二维数组可以实现 方法二、不申 阅读全文
posted @ 2018-09-12 13:34 skillking2 阅读(102) 评论(0) 推荐(0) 编辑
摘要:一、题目 1、审题 2、分析: 给出一个有重复数字的整形数组,求其全排序。 二、解答 1、思路: 方法一、在上一题的递归基础上,加上过滤条件。 例如:对于 112, ①、将1固定在第一位,求后边的12的排序; ②、此时应将第二个 1 固定在第一位,但是,与①重复,过滤掉; ③、将 2固定在第一位,求 阅读全文
posted @ 2018-09-12 11:18 skillking2 阅读(82) 评论(0) 推荐(0) 编辑
摘要:一、题目 1、审题 2、分析: 输入一个不重复整形数组,求他的全排序 二、解答 1、思路: 方法一:利用递归实现全排序,先固定第一个值,在对后边全排序...最终当固定的值为最大下标时,则此时即得一排序。 方法二: 将数组排成升序后,依次求得比这一个数组数字大的下一个数字数组,最终这些所有的字典序的数 阅读全文
posted @ 2018-09-12 10:17 skillking2 阅读(137) 评论(0) 推荐(0) 编辑
摘要:一、题目 1、审题 2、分析: 给出一个整形数组,数值对应在该下标可以向前跳动的最大步数,求跳到数组末尾的最小步数。 二、解答 1、思路: ①、利用广度优先算法BFS, 设置变量 step 代表步数, e 代表当前这一步(下标 i)到达的最远距离(即数组的下标), max 记录在下标 i 到达e之前 阅读全文
posted @ 2018-09-10 11:47 skillking2 阅读(251) 评论(0) 推荐(0) 编辑
摘要:一、题目 1、审题 2、分析: 判断两个字符串是否匹配,其中 p 中的特殊字符 ‘?’可以匹配任意一个字母, ‘*’ 可以匹配 0 个或多个不同的连续字符。 二、解答 1、思路: ①、定义两个指针,pIndex 指向 p 的下标, sIndex 指向 s 的下标; 再定义两个指针,pStarInde 阅读全文
posted @ 2018-09-08 21:43 skillking2 阅读(131) 评论(0) 推荐(0) 编辑
摘要:一、题目 1、审题 2、分析: 给定两个字符串,字符串形式为非负整数。在不使用 BigInteger 以及不把其转为 int 形式下 求该两数的乘积,返回结果为字符串。 二、解答 1、思路: 分析可知,num1 下标为 i 的数字与 num2 下标为 j 的数字相乘,所得的乘积为二位数字,且所在下标 阅读全文
posted @ 2018-09-08 10:49 skillking2 阅读(116) 评论(0) 推荐(0) 编辑
摘要:一、题目 1、审题 2、分析: 给出一组整数坐标,代表在 x 轴上的单位为1的木块的高度,求得这些木块之间最多可以积多少水。 二、解答 1、思路: 方法一:a、求出最高的木块的高度,记其下标为 index; b、求 index 左方最高木块的下标, secondIndex;并可以求出 secondI 阅读全文
posted @ 2018-09-07 09:38 skillking2 阅读(95) 评论(0) 推荐(0) 编辑
摘要:一、题目 1、审题 2、分析: 在时间复杂度为 O(n)条件下求出数组中所缺失的最小正整数。 二、解答 1、思路: 数组大小为 n, 则所缺失的正整数范围 为 1~n+1;考虑将下标为 i 的位置放入对应大小为 i +1 的元素,则最终遍历时查找下标 i 对应的元素不是 i + 1则为缺失的最小正整 阅读全文
posted @ 2018-09-03 22:04 skillking2 阅读(83) 评论(0) 推荐(0) 编辑
摘要:一、题目 1、审题 2、分析: 给出一个可以有重复数字的数组,一个目标数字 target,求数组中的所有和为 target 的数字组合,其中数组中每个元素只能用一次。 二、解答 1、思路: 利用DFS方法,其中,可以用 while(i + 1 < candidates.length && candi 阅读全文
posted @ 2018-09-03 21:11 skillking2 阅读(97) 评论(0) 推荐(0) 编辑

上一页 1 ··· 6 7 8 9 10 11 12 下一页