随笔分类 -  LeetCode

上一页 1 2 3 4 5 6 7 8 ··· 12 下一页
摘要:一、题目 1、审题 2、分析 给出一个二维字符矩阵 board,一个字符串数组 words。求出矩阵中连续的字符能组成的 words 中的单词,一个单词只能用同一个位置的字符一次。 二、解答 1、思路: 采用 Trie 字典树。 ①、根据 words 创建 一个 Trie ②、遍历 board,以每 阅读全文
posted @ 2018-10-31 21:05 skillking2 阅读(169) 评论(0) 推荐(0) 编辑
摘要:一、题目 1、审题 2、分析 与208不同的是, search() 方法可以传入的单词可以包含 '.' ,代表任意一个字符。 二、解答 1、思路: 采用 DFS 方式,当查找单词中字符为 '.' 时,从当前 Trie 节点的所有非空子节点开始查找一次,若有一个返回成功,则为 true;若都失败,则 阅读全文
posted @ 2018-10-31 21:01 skillking2 阅读(125) 评论(0) 推荐(0) 编辑
摘要:一、题目 1、审题 2、分析 实现一个 Trie(字典树)。 二、解答 1、思路: ①、新建一个 root 作为根节点,root 一般包含布尔型 isWord 判断到此节点是否是一个完整 word;TrieNode[26], 下标 0~25 代表字符 'a' ~'z' ;字符串 word 代表到此节 阅读全文
posted @ 2018-10-31 20:55 skillking2 阅读(184) 评论(0) 推荐(0) 编辑
摘要:一、题目 1、审题 2、分析 求正整数数组 nums 中连续的元素和大于等于 s 的最少元素的个数。 二、解答 1、思路: 方法一、 ①、采用变量 min 记录最少元素数,初始值为 Integer.MAX_VALUE; ②、遍历 nums 中元素,若当前元素下标为 i 时;令变量 sum = num 阅读全文
posted @ 2018-10-31 10:56 skillking2 阅读(141) 评论(0) 推荐(0) 编辑
摘要:一、题目 1、审题 2、分析 给出顶点数、指向当前顶点的前驱顶点,判断当前顶点组成的图是否是一个有向无环图。 二、解答 1、思路: 方法一、 采用拓扑排序 ①、定义数组 matrix[][] 存储从 i 指向 j 的边,curArr[] 存储指向当前顶点的边数。并初始化这两个数组; ②、将没有前驱的 阅读全文
posted @ 2018-10-24 19:53 skillking2 阅读(163) 评论(0) 推荐(0) 编辑
摘要:一、题目 1、审题 2、分析 判断等长的字符串 s 与 t ,其中的字符是否有一一对应的关系。其中 s 中的一个字符只能对应对应 t 中的特定的一个字符。 二、解答 1、思路: 方法一、 使用一个 Map , key 为 s 中的字符, value 为 t 中的字符。 过程如下; 、判断 Map 中 阅读全文
posted @ 2018-10-22 12:25 skillking2 阅读(134) 评论(0) 推荐(0) 编辑
摘要:一、题目 1、审题 2、分析 分别采用递归、迭代的方式将链表进行翻转。 二、解答 1、思路: 方法一、 迭代: 采用两个指针 pre、cur 方法二、 递归: 阅读全文
posted @ 2018-10-20 17:49 skillking2 阅读(93) 评论(0) 推荐(0) 编辑
摘要:一、题目 1、审题 2、分析 统计 < n 的数字中质数的个数。 二、解答 1、思路: 方法一、 采用一个大小为 n 的 bool 数组,标记非质数。 阅读全文
posted @ 2018-10-20 13:03 skillking2 阅读(99) 评论(0) 推荐(0) 编辑
摘要:一、题目 1、审题 2、分析 将链表中值为 val 的节点去除。 二、解答 1、思路: 方法一、 创建一个头结点,将后边的值为 val 的节点一一删除。 优化: 采用 pre、cur 指针,使代码更简洁 方法二、 采用递归 阅读全文
posted @ 2018-10-19 22:33 skillking2 阅读(119) 评论(0) 推荐(0) 编辑
摘要:一、题目 1、审题 2、分析 给出一个整数数字 n ,将其包含的每一位数字求平方最后求和,并赋值为 n,最终 n 为 1则称 n 为快乐数,若 n 不是快乐数,那他最终会陷入一个不会包含 1 的循环。判断 n 是不是一个快乐数。 二、解答 1、思路: 方法一、 通过设置两个指针,fast、slow。 阅读全文
posted @ 2018-10-19 21:59 skillking2 阅读(137) 评论(0) 推荐(0) 编辑
摘要:一、题目 1、审题 2、分析 求 n~m 范围内的所有数字进行二进制 & 运算后的结果。 二、解答 1、思路: 方法一、 以 26~30 为例,二级制 & 运算,若出现了一个 0 则结果为 0。在这个例子中,结果为 11000,因此我们要减去后边部分不同的部分。这里后边有 3 个不同。 方法二、 直 阅读全文
posted @ 2018-10-19 20:23 skillking2 阅读(141) 评论(0) 推荐(0) 编辑
摘要:一、题目 1、审题 2、分析 给出一个二维数组表示的字符集合,求出其中所有的由 1 组成的群体的个数,(想连续的 1 组成一个)。 二、解答 1、思路: 方法一、 遍历数组中的每一个元素,将出现的值为 ‘1’ 的元素值改为 ’2‘,同时递归的将与此元素相连的值为 ‘1’的扩展元素值也改为 ‘ 2‘, 阅读全文
posted @ 2018-10-19 15:57 skillking2 阅读(136) 评论(0) 推荐(0) 编辑
摘要:一、题目 1、审题 2、分析 一棵二叉树,从右边看他,看到的每一层的第一个元素存起来。 二、解答 1、思路: 方法一、 采用 Queue 进行层次遍历,且每次获取一层的最右边一个元素。 方法二、 采用递归获取每一层最右边元素; 即修改后的前序遍历,遍历顺序为: 根 --> 右 --> 左 ; 巧妙的 阅读全文
posted @ 2018-10-18 20:43 skillking2 阅读(110) 评论(0) 推荐(0) 编辑
摘要:一、题目 1、审题 2、分析 给出一个整形数组,你不能获取连续元素,只能间隔获取元素的值,求你能获取的元素的和的最大值为多大。 二、解答 1、思路: 方法一、 采用两个变量 max1、max2 记录奇数、偶数位置所能获取的最大值。 可能获取此位置的值,也可能不获取。 方法二、 采用一维动态数组记录当 阅读全文
posted @ 2018-10-17 22:02 skillking2 阅读(135) 评论(0) 推荐(0) 编辑
摘要:一、题目 1、审题 2、分析 统计给出的无符号整数的二进制形式中的含有的 1 的个数。 二、解答 1、思路: 方法一、 采用 JAVA 的 toBinaryString 方法,求出其二进制形式的字符串形式,在统计含有的字符 ‘1‘ 的个数。 方法二、 ①、通过 n & 1 求出 n 最后一位二进制的 阅读全文
posted @ 2018-10-17 20:26 skillking2 阅读(130) 评论(0) 推荐(0) 编辑
摘要:一、题目 1、审题 2、分析 给出一个 32位的无符号整形,将其二进制形式进行翻转,求出反转后的二进制代表的数值。 二、解答 1、思路: 方法一、 采用位运算符进行运算。 ①、n & 1 可以取到 n 的最后一位二进制位 end; ②、n >>>= 1,n 无符号右移一位 ③、result <<= 阅读全文
posted @ 2018-10-17 19:54 skillking2 阅读(140) 评论(0) 推荐(0) 编辑
摘要:一、题目 1、审题 2、分析 给出一个整形数组,将每一个元素向右边移动 k 个元素。 二、解答 1、思路: ①、将数组整体翻转一遍; ②、将数组从 (0,K-1)翻转一遍; 则前 K 个元素已经符合; ③、将数组从(K,end)翻转一遍;则后边 end - K 个元素已经符合; 阅读全文
posted @ 2018-10-17 16:53 skillking2 阅读(114) 评论(0) 推荐(0) 编辑
摘要:一、题目 1、审题 2、分析 求出在 S 中出现至少两次的十个字符组成的字符串。 二、解答 1、思路: 采用一个 Set 存储每一个字符串,当已存储的字符串再次出现时,会添加失败,则表示此字符串至少出现了两次,应当存储在另一个 Set 中进行去重。最终将第二个 Set 转为 List 即可。 阅读全文
posted @ 2018-10-17 15:55 skillking2 阅读(121) 评论(0) 推荐(0) 编辑
摘要:一、题目 1、审题 2、分析 给出一个整形数组,将其中的元素进行拼接,形成的最大的数值。返回字符串形式的这个数值(防止溢出)。 二、解答 1、思路: ①、将整形数组转为字符串数组; ②、重写 Comparator 的 compare 方法,对拼接后的字符串大小进行比较 ; ③、最终根据此 compa 阅读全文
posted @ 2018-10-17 13:52 skillking2 阅读(105) 评论(0) 推荐(0) 编辑
摘要:一、题目 1、审题 2、分析 只能向右、向下移动的王子,从左上角要到右下角救公主,每经过一个方格,可能获得血瓶加血量,或者碰到怪物减血量,当王子血量 < 1 时就挂了,为了能成功救得公主,求王子的最小的初始血量。 二、解答 1、思路: 方法一、 采用二维数组 dp[][] 的动态规划方法: ①、使用 阅读全文
posted @ 2018-10-16 22:55 skillking2 阅读(141) 评论(0) 推荐(0) 编辑

上一页 1 2 3 4 5 6 7 8 ··· 12 下一页