随笔分类 -  LeetCode

上一页 1 2 3 4 5 6 ··· 12 下一页
摘要:一、题目 1、审题 2、分析 将二叉树的结构序列化为字符串形式表示,在通过这个字符串形式将此二叉树的结构展示出来! 二、解答 1、思路 序列化过程: 将二叉数以先序遍历的方式展示,并且使用 “X” 代表一个 null 节点,而且每个节点之间采用 “,”隔开。可以采用一个 StringBuilder 阅读全文
posted @ 2018-11-27 16:21 skillking2 阅读(138) 评论(0) 推荐(0) 编辑
摘要:一、题目 1、审题 2、分析 给出一个无序的整形数组,求其中递增的最大序列的元素个数。 二、解答 1、思路 方法一、 采用 dp 数组,长度为 nums 的元素个数。 ①、dp[index] 记录当前下标 index 对应元素与前边的数组元素组成的最大递增序列的个数。 ②、dp 所有元素初始化为 1 阅读全文
posted @ 2018-11-27 16:05 skillking2 阅读(115) 评论(0) 推荐(0) 编辑
摘要:一、题目 1、审题 2、分析 两个字符串数字中,位置相同且数字相同则 bull++;位置不同但数字相同则 cow++;统计 bull、cow 个数。 二、解答 1、思路 采用两个整形数组,num1[10], num2[10]; 遍历 secret、guess 相同位置的字符。 若字符相同 则 bul 阅读全文
posted @ 2018-11-26 15:38 skillking2 阅读(116) 评论(0) 推荐(0) 编辑
摘要:一、题目 1、审题 2、分析 给定一个数组,记载了某研究人员的文章引用次数(每篇文章的引用次数都是非负整数),编写函数计算该研究人员的h指数。 根据维基百科上对h指数的定义:“一名科学家的h指数是指在其发表的N篇论文中,有h篇论文分别被引用了至少h次,其余N-h篇的引用次数均不超过h次”。 例如,给 阅读全文
posted @ 2018-11-26 14:48 skillking2 阅读(191) 评论(0) 推荐(0) 编辑
摘要:一、题目 1、审题 2、分析 实现一个数据结构,可以添加整形元素,并可以返回排序后的中位数。 二、解答 1、思路 采用两个 PriorityQueue。 ①、采用两个 PriorityQueue,PriorityQueue 具有对元素进行自动排序的功能。 ②、一个为 maxQueue,记录比中位数大 阅读全文
posted @ 2018-11-25 16:33 skillking2 阅读(159) 评论(0) 推荐(0) 编辑
摘要:一、题目 1、审题 2、分析 你先选,能选 1~3个砖头,对手在选 1~3个砖头。若你和对手都很聪明,且能拿到最后一块砖头的人胜利,给出砖头总数 n,求你是否能赢。 二、解答 1、思路 由于是我们先拿,那么3个以内(包括3个)的石子,我们直接赢,如果共4个,那么我们一定输,因为不管我们取几个,下一个 阅读全文
posted @ 2018-11-25 15:29 skillking2 阅读(116) 评论(0) 推荐(0) 编辑
摘要:一、题目 1、审题 2、分析 给出两个字符串,判断两个字符串的元素排列规则是不是一样。 二、解答 1、思路 方法一、 采用 Map<Character, String> 将 pattern 的字符作为 Key,str 切分成单词数组 arr,单词作为 Value。 若 pattern中字符数与 st 阅读全文
posted @ 2018-11-25 10:39 skillking2 阅读(131) 评论(0) 推荐(0) 编辑
摘要:一、题目 1、审题 2、分析 编程实现 “LIFE” 这个游戏: ①、若 m 的周围8个邻居细胞中存活的细胞数 < 2,则此细胞从存活状态变为死亡状态; ②、若 m 的周围8个邻居细胞中存活的细胞数 = 2 或 = 3,则此细胞从存活状态变为存活状态; ③、若 m 的周围8个邻居细胞中存活的细胞数 阅读全文
posted @ 2018-11-24 22:26 skillking2 阅读(206) 评论(0) 推荐(0) 编辑
摘要:一、题目 1、审题 2、分析 一个长度为 n+1 的整形数组,元素值为 1~ n 之间。其中一个元素重复了多次,其他元素只出现一次。求出多次出现的那个元素。 二、解答 1、思路 类似: 142. Linked List Cycle II //这道题的关键在于0处是没有索引指向的,将数组视为静态链表, 阅读全文
posted @ 2018-11-23 22:29 skillking2 阅读(130) 评论(0) 推荐(0) 编辑
摘要:一、题目 1、审题 2、分析 给出一个整形数组,将 0 全部提到后边,并保持非 0 元素的排列顺序。 二、解答 1、思路 方法一、 采用两个指针,index1 指向 第一个 0 的下标。i 指向新出现的元素的下标。 若 nums[i] = 0,则 i++; 若 nums[i] != 0, 且 i ! 阅读全文
posted @ 2018-11-23 21:20 skillking2 阅读(124) 评论(0) 推荐(0) 编辑
摘要:一、题目 1、审题 2、分析 给出正整数 n,判断 n 由几个平方数的和构成。 二、解答 1、思路 方法一、 动态规划! ①、创建大小为 n + 1 的数组。其中,初始化时 dp[0] = 0,其他元素值为 Integer.Max_VALUE。 ②、之后,依次给 dp 从 1 开始的下标元素进行赋值 阅读全文
posted @ 2018-11-22 22:20 skillking2 阅读(148) 评论(0) 推荐(0) 编辑
摘要:一、题目 1、审题 2、分析 求出一个数组中连续的元素中缺失的那一个。 二、解答 1、思路 方法一、 将数组中的元素与下标进行对应。最终与下标不一致的元素即为缺失德那一个。 方法二、 采用异或 ^ 运算符。将下标与元素值一起做 ^ 操作。出现了两次的元素最终会被消去,只剩下要求的出现一次的元素。 方 阅读全文
posted @ 2018-11-22 13:30 skillking2 阅读(167) 评论(0) 推荐(0) 编辑
摘要:一、题目 1、审题 2、分析 输出第 n 个 ugly 数值。 二、解答 1、思路 ①、新建一个大小为 n 的数组 arr,存放自小到大的 ugly 数,且 arr[0] = 1。 ②、采用三个指针t2、t3、t5,代表 2、3、5的指向,起始分别指向数组下标 0;且 arr[i] = Math.m 阅读全文
posted @ 2018-11-21 22:34 skillking2 阅读(187) 评论(0) 推荐(0) 编辑
摘要:一、题目 1、审题 2、分析 给出一个整数 num,若其大于0 且素数因子只含有 2、3、5 则判定为 ugly 数。判断 num 是否为 ugly 数。 二、解答 1、思路 若num 取余 2、3、5为 0, 则 num / (2、3、5)。若最终 num 为 1,则 为 ugly 数 阅读全文
posted @ 2018-11-21 22:05 skillking2 阅读(120) 评论(0) 推荐(0) 编辑
摘要:一、题目 1、审题 2、分析 在线性时间复杂度、常量空间开销的情况下统计出一个整形数组中只出现一次的两个数(其他的数都是出现2次)。 二、解答 1、思路 ①、对数组所有元素进行异或(^) 操作,得到只出现 1 次的这两个数的异或结果 diff。 ②、diff &= -diff ,得到只出现一次的两个 阅读全文
posted @ 2018-11-20 15:43 skillking2 阅读(147) 评论(0) 推荐(0) 编辑
摘要:一、题目 1、审题 2、分析 给出一个运算式的字符串,求加上括号后的所有可能结果。 二、解答 1、思路 采用递归方式。 碰到操作符后就将运算式分为前后两部分,递归调用此方法算出前后两部分的所有运算结果。在根据此操作符将前后两部分的结果进行操作。最终将结果存于 List中进行返回。 可以通过一个 Ma 阅读全文
posted @ 2018-11-20 14:51 skillking2 阅读(191) 评论(0) 推荐(0) 编辑
摘要:一、题目 1、审题 2、分析 给出一个整数,将每一位相加直到出现的和为每一个位数的数字相同,然后返回每一个位数的数值相加的和。 二、解答 1、思路 这样的问题,有一个结论: result = 1 + (num - 1)% 9; 阅读全文
posted @ 2018-11-19 22:03 skillking2 阅读(125) 评论(0) 推荐(0) 编辑
摘要:一、题目 1、审题 2、分析 给出一个二维数组,每一行的元素、每一列的元素均有序。在此数组中查找 target 元素。 二、解答 1、思路 方法一、 在每一行中用二分查找法。 方法二、 从二维数组的右上角开始向前、向下定位: ①、若 target 小于当前元素,则 target 不可能在当前列,因为 阅读全文
posted @ 2018-11-11 17:45 skillking2 阅读(138) 评论(0) 推荐(0) 编辑
摘要:一、题目 1、审题 2、分析 给出一个整形数组,一个窗口大小 k,此窗口每次包含 k 个连续元素,依次向后移动,将每次窗口中的最大元素进行记录。 二、解答 1、思路 方法一、 采用双端队列 Deque 存储每次窗口中最大元素的下标 i,且队列中存储的下标是依次增大的。 ①、循环判断队列中元素值 < 阅读全文
posted @ 2018-11-11 16:53 skillking2 阅读(148) 评论(0) 推荐(0) 编辑
摘要:一、题目 1、审题 2、分析 给出一个整形数组,用另一个数组存储所给数组的除去当前下标元素外的所有元素的乘积。尝试用 O(n) 时间复杂度,常数额外空间。 二、解答 1、思路 方法一、 ① 新建数组 result,使用循环,为 result 赋值, result[i] = nums[0] * num 阅读全文
posted @ 2018-11-10 22:26 skillking2 阅读(77) 评论(0) 推荐(0) 编辑

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