随笔分类 -  LeetCode

上一页 1 2 3 4 5 6 7 8 9 10 ··· 12 下一页
摘要:一、题目 1、审题 2、分析 给出一个字符串,求其可以切割成字典List 中的元素的所有切法。 二、解答 1、思路: 方法一、 采用 DFS 方式。 从字典表中开始拿字符串与 S 的头部进行匹配,若匹配成功,则继续拿字典表在 S 的剩下的字符串进行匹配。直至 S 剩下的字符串为空,此时就找到一种切法 阅读全文
posted @ 2018-10-12 10:20 skillking2 阅读(167) 评论(0) 推荐(0) 编辑
摘要:一、题目 1、审题 2、分析 给出一个单向链表,将其重新排序,排序规则如上。 二、解答 1、思路: 方法一、 观察上边的重新排序后的链表。可以分为三个步骤。 ①、找到中间节点; ②、将后边部分的链表进行翻转。 ③、在前边部分的链表中间隔插入后边部分链表的一个节点。 阅读全文
posted @ 2018-10-12 08:43 skillking2 阅读(107) 评论(0) 推荐(0) 编辑
摘要:一、题目 1、审题 2、分析 给出一个链表,如果没有环则返回 null, 若存在环,返回环开始的节点。 二、解答 1、思路: 方法一、 阅读全文
posted @ 2018-10-11 22:27 skillking2 阅读(105) 评论(0) 推荐(0) 编辑
摘要:一、题目 1、审题 2、分析 给出一个链表,查看其中是否存在一个环。 二、解答 1、思路: 方法一、 使用一个 Set 存储遍历的节点,当当前遍历的节点不存在于 Set 中,则加入 Set,若已存在于 Set,则返回 true。 方法二、 设置两个指针,walker 每次向后移动一个单位,runne 阅读全文
posted @ 2018-10-11 21:51 skillking2 阅读(94) 评论(0) 推荐(0) 编辑
摘要:一、题目 1、审题 2、分析 给出一个字符串 S,一个字典表 dict,判断 S 是否能由 dict 中的字符串所组成,其中 dict 中的字符串能够多次使用。 二、解答 1、思路: 方法一、 使用一个 DP 数组记录 S 从下标 0 到当前下标位置是否能够正确匹配。 ①、从下标 i = 1 开始遍 阅读全文
posted @ 2018-10-11 12:11 skillking2 阅读(154) 评论(0) 推荐(0) 编辑
摘要:一、题目 1、审题 2、分析 给出一个链表,链表有 next、random 指针。深度复制这张链表 二、解答 1、思路: 方法一、 采用一个 Map 记录是创建的新节点并采用递归进行深度复制。 方法二、 采用一个 Map 记录新建的节点,并采用两个循环进行 next、random 指针赋值。 方法三 阅读全文
posted @ 2018-10-10 16:34 skillking2 阅读(140) 评论(0) 推荐(0) 编辑
摘要:一、题目 1、审题 2、分析 深度复制一个图的结构。 二、解答 1、思路: 采用一个 Map 存储新建的图的节点值、对应的节点。 阅读全文
posted @ 2018-10-10 15:43 skillking2 阅读(108) 评论(0) 推荐(0) 编辑
摘要:一、题目 1、审题 2、分析 给出一个非空数组,其中包含一个只出现一次的元素,其他的均出现3次,找出只出现一次的那个元素。 二、解答 1、思路: 采用二进制位运算符进行计算: 与 &: 1 & 1 = 1, 0 & 0 = 1 & 0 = 0; 或 | :1 | 0 = 1 | 1 = 1, 0 | 阅读全文
posted @ 2018-10-10 15:21 skillking2 阅读(104) 评论(0) 推荐(0) 编辑
摘要:一、题目 1、审题 2、分析 给出一个非空的只有一个元素出现一次其他元素均出现两次的整形数组,求出出现一次的该元素。 (不使用额外的空间,而且时间复杂度为线性) 二、解答 1、思路: 采用异或(^) 运算符。 1 ^ 1 = 0 ^ 0 = 0;1 ^ 0 = 1; 故,a ^ b ^ a = b 阅读全文
posted @ 2018-10-10 12:03 skillking2 阅读(73) 评论(0) 推荐(0) 编辑
摘要:一、题目 1、审题 2、分析 每个小孩对应一个等级,每个小孩至少分一颗糖,紧挨着的等级高的小孩要比紧挨着的等级低的小孩的糖果多,求至少要分几颗糖果。 二、解答 1、思路: 方法一、 考虑到每个小孩的分到的糖果数受左右两边的小孩等级的影响。故: ①、找出所有小孩中等级最低的小孩1,分一棵糖,且他左边若 阅读全文
posted @ 2018-10-10 11:47 skillking2 阅读(174) 评论(0) 推荐(0) 编辑
摘要:一、题目 1、审题 2、分析 给出一个数组 gas,代表汽车在此地点可以加油 gas[i];一个数组 cost,代表汽车从此地点到达下一个地点需要耗费的油量 cost[i],设汽车油箱容量无限,求汽车顺时针能绕一圈的起始地点的下标。 二、解答 1、思路: 方法一、 运用两层循环。 第一层循环代表汽车 阅读全文
posted @ 2018-10-09 16:15 skillking2 阅读(267) 评论(0) 推荐(0) 编辑
摘要:一、题目 1、审题 2、分析 给出一个字符串,将其切割后分成的子串全为回文,求最少切几刀。 二、解答 1、思路: 方法一 采用一个 DP 数组记录。 DP[i]:表示到达下标 i 需要切的刀数。 方法二: 采用两个动态数组。 pal[j][i] = true: 从下标 j 到下标 i 是回文。 cu 阅读全文
posted @ 2018-10-09 13:53 skillking2 阅读(128) 评论(0) 推荐(0) 编辑
摘要:一、题目 1、审题 2、分析 给出一个字符串,将其分割成各个子串,使得其子串全为回文,求所有的分割方式。 二、解答 1、思路: 方法一、 采用递归方式进行分割。 ①、递归时,判断当前分割的子串是否为回文,若是,存储该子串,并分割字符串,继续递归剩下的子串; ②、递归跳出条件为: 当前字符串切割的字符 阅读全文
posted @ 2018-10-08 15:23 skillking2 阅读(82) 评论(0) 推荐(0) 编辑
摘要:一、题目 1、审题 2、分析 给出一个二维数组,数组中只包含字符 'O'、‘X', 将数组中被 'X' 包围的 'O' 全部换成 'X'。(其中紧邻边界不算包围) 二、解答 1、思路: 方法一、 ①、将紧挨着棋盘边缘的 "O'" 或者与边缘的 "O" 连通的 “O” 全部换成 “1“; ②、将剩下的 阅读全文
posted @ 2018-10-08 13:28 skillking2 阅读(99) 评论(0) 推荐(0) 编辑
摘要:一、题目 1、审题 2、分析 给出一棵二叉树,求其从根节点到叶子节点的所有路径中所经过的节点组成的数值之和。 二、解答 1、思路: 方法一、 采用递归进行 DFS,记录从根节点到叶子节点的所有的路径,在对数值进行累加。 方法二、 采用两个 Queue 进行层次遍历,其中 一个 Queue 记录节点, 阅读全文
posted @ 2018-10-08 10:26 skillking2 阅读(151) 评论(0) 推荐(0) 编辑
摘要:一、题目 1、审题 2、分析 给出一个无序数组,求数组中存在的最长连续的数字序列的个数。 二、解答 1、思路: 方法一、 将数组排序后统计连续数值序列的个数。 方法二、 通过创建一个 Map 存储当前值的连续序列个数。 每次存入新值时,一定要更新此值的边界数值的 value。 方法三、 采用 Set 阅读全文
posted @ 2018-10-07 22:32 skillking2 阅读(131) 评论(0) 推荐(0) 编辑
摘要:一、题目 1、审题 2、分析 判断所给的字符串(只考虑数字、字母)是否为回文。 二、解答 1、思路: 方法一、 用 start、end 指针分别从 s 的开头和结尾开始遍历,并进行比较。 方法二、 先采用正则替换掉 s 中的非数字、字母,在翻转 s 与原串进行比较。 阅读全文
posted @ 2018-10-07 21:03 skillking2 阅读(90) 评论(0) 推荐(0) 编辑
摘要:一、题目 1、审题 2、分析 给出一棵二叉树,求一条路径使得其通过的节点数值和最大为多少。 二、解答 1、思路: 方法一、 ①、通过递归 求得 root 左子树的最大和,root 右子树的最大和; ②、采用一个全局变量记录最大节点数之和; ③、跳出递归条件为 root == null; 阅读全文
posted @ 2018-10-07 20:46 skillking2 阅读(100) 评论(0) 推荐(0) 编辑
摘要:一、题目 1、审题 2、分析 给出一个股票的每日价格的数组,可以多次交易,求最大利润是多大。 二、解答 1、思路: 方法一、 求最大利润,从后往前看,若以现在的价格卖出,前一天的价格买入的话,即可完成这次交易,并获得利润。最终统计所有的利润即可。 方法二、 ①、先查找从当前位置开始的最小值 min, 阅读全文
posted @ 2018-10-07 11:33 skillking2 阅读(110) 评论(0) 推荐(0) 编辑
摘要:一、题目 1、审题 2、分析 给出一个数组,让你先已 val1 买入,再 以 val2 卖出,求获得的利润最大是多少。 二、解答 1、思路: 方法一、 用遍历 min 记录到当前位置的最小值; max 记录到当前数组值的价格卖出为止时获得的最大利润。 优化: 变量 minPrice 直接记录当前的最 阅读全文
posted @ 2018-10-06 22:39 skillking2 阅读(107) 评论(0) 推荐(0) 编辑

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