随笔分类 -  LeetCode

摘要:题目描述: 给定一个二叉树,它的每个结点都存放着一个整数值。 找出路径和等于给定数值的路径总数。 路径不需要从根节点开始,也不需要在叶子节点结束,但是路径方向必须是向下的(只能从父节点到子节点)。 二叉树不超过1000个节点,且节点数值范围是 [-1000000,1000000] 的整数。 思路分析 阅读全文
posted @ 2019-12-13 10:44 菜鸟奋斗史 阅读(358) 评论(0) 推荐(0)
摘要:题目描述: 两个整数之间的汉明距离指的是这两个数字对应二进制位不同的位置的数目。 给出两个整数 x 和 y,计算它们之间的汉明距离。 注意:0 ≤ x, y < 231. 思路分析: 思路一:两个数从低位到高位,分别依次与1做与运算,如果当前位的与运算结果不同,结果+1 思路二:Integer 的b 阅读全文
posted @ 2019-12-13 10:06 菜鸟奋斗史 阅读(223) 评论(0) 推荐(0)
摘要:题目描述: 给定两个二叉树,想象当你将它们中的一个覆盖到另一个上时,两个二叉树的一些节点便会重叠。 你需要将他们合并为一个新的二叉树。合并的规则是如果两个节点重叠,那么将他们的值相加作为节点合并后的新值,否则不为 NULL 的节点将直接作为新二叉树的节点。 思路分析: 我们可以对这两棵树同时进行前序 阅读全文
posted @ 2019-12-13 09:48 菜鸟奋斗史 阅读(384) 评论(0) 推荐(0)
摘要:题目描述: 给定一棵二叉树,你需要计算它的直径长度。一棵二叉树的直径长度是任意两个结点路径长度中的最大值。这条路径可能穿过根结点。 示例 :给定二叉树 返回 3, 它的长度是路径 [4,2,1,3] 或者 [5,2,1,3]。 注意:两结点之间的路径长度是以它们之间边的数目表示。 思路分析: 对于每 阅读全文
posted @ 2019-11-28 15:59 菜鸟奋斗史 阅读(443) 评论(0) 推荐(0)
摘要:题目描述: 给定一个非负整数 num。对于 0 ≤ i ≤ num 范围中的每个数字 i ,计算其二进制数中的 1 的数目并将它们作为数组返回。 思路分析: 对于所有的数字,只有两类: 奇数:二进制表示中,奇数一定比前面那个偶数多一个 1,因为多的就是最低位的 1。 举例: 0 = 0 1 = 1 阅读全文
posted @ 2019-11-28 15:11 菜鸟奋斗史 阅读(204) 评论(0) 推荐(0)
摘要:题目描述: 思路分析: (这是一个很经典的树形dp问题) 我们可以先不管这个否是二叉树,我们发现,如果我们选了 cur 这个节点 那么就说明 我们不能选它的所有子节点(还有父节点)。对于每一个节点,都只有选和不选两种情况。我们每次考虑一棵子树,那么根只有两种情况,选和不选(我们让dp[0]表示不选, 阅读全文
posted @ 2019-11-27 10:23 菜鸟奋斗史 阅读(467) 评论(0) 推荐(0)
摘要:题目描述: 思路:动态规划(https://leetcode-cn.com/problems/coin-change/solution/dong-tai-gui-hua-suan-fa-si-xiang-by-hikes/) 假设你是个土豪,你有1,5,10,20,50,100的钞票,你要凑出666 阅读全文
posted @ 2019-11-26 15:36 菜鸟奋斗史 阅读(719) 评论(0) 推荐(0)
摘要:题目描述: 你和你的朋友,两个人一起玩 Nim 游戏:桌子上有一堆石头,每次你们轮流拿掉 1 - 3 块石头。 拿掉最后一块石头的人就是获胜者。你作为先手。 你们是聪明人,每一步都是最优解。 编写一个函数,来判断你是否可以在给定石头数量的情况下赢得游戏。 思路分析: 如果堆中石头的数量 nn 不能被 阅读全文
posted @ 2019-11-26 11:11 菜鸟奋斗史 阅读(274) 评论(0) 推荐(0)
摘要:题目描述: 给定一个无序的整数数组,找到其中最长上升子序列的长度。 思路分析:(题解来自:https://leetcode-cn.com/u/liweiwei1419/) 动态规划,时间复杂度为 O(N^2); “动态规划”的两个步骤是思考“状态”以及“状态转移方程”。 有的资料又将“动态规划”分为 阅读全文
posted @ 2019-11-26 10:40 菜鸟奋斗史 阅读(312) 评论(0) 推荐(0)
摘要:题目描述: 给定一个包含 n + 1 个整数的数组 nums,其数字都在 1 到 n 之间(包括 1 和 n),可知至少存在一个重复的整数。假设只有一个重复的整数,找出这个重复的数。 思路分析: 关键:这道题的关键是对要定位的“数”做二分,而不是对数组的索引做二分。要定位的“数”根据题意在 1 和 阅读全文
posted @ 2019-11-25 10:57 菜鸟奋斗史 阅读(177) 评论(0) 推荐(0)
摘要:题目描述: 给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。 思路分析: 阅读全文
posted @ 2019-11-22 15:21 菜鸟奋斗史 阅读(173) 评论(0) 推荐(0)
摘要:题目描述: 给定正整数 n,找到若干个完全平方数(比如 1, 4, 9, 16, ...)使得它们的和等于 n。你需要让组成和的完全平方数的个数最少。 思路分析:思路: 动态规划首先初始化长度为n+1的数组dp,每个位置都为0如果n为0,则结果为0对数组进行遍历,下标为i,每次都将当前数字先更新为最 阅读全文
posted @ 2019-11-22 13:50 菜鸟奋斗史 阅读(289) 评论(0) 推荐(0)
摘要:题目描述: 给定长度为 n 的整数数组 nums,其中 n > 1,返回输出数组 output ,其中 output[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积。 说明: 请不要使用除法,且在 O(n) 时间复杂度内完成此题。 进阶:你可以在常数空间复杂度内完成这个题目吗?( 阅读全文
posted @ 2019-11-22 11:10 菜鸟奋斗史 阅读(287) 评论(0) 推荐(0)
摘要:题目描述: 给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。” 例如,给定如下二叉树: root = [ 阅读全文
posted @ 2019-11-22 10:22 菜鸟奋斗史 阅读(307) 评论(0) 推荐(0)
摘要:题目描述: 请判断一个链表是否为回文链表。 思路分析: 思路一:借助辅助栈和辅助队列,链表节点依次入队列和入栈,依次出栈和出队,判断是否相等即可 时间复杂度:O(n) 空间复杂度:O(2n)->O(n) 思路二:快慢指针 思想很简单,用2个指针,一个low,一个fast,fast是low的2倍,所以 阅读全文
posted @ 2019-11-21 09:54 菜鸟奋斗史 阅读(503) 评论(0) 推荐(0)
摘要:题目描述: 翻转一颗二叉树 思路分析: 1)递归,不断交换左右子树,直到子树为空 2)迭代: 这个方法的思路就是,我们需要交换树中所有节点的左孩子和右孩子。因此可以创一个队列来存储所有左孩子和右孩子还没有被交换过的节点。开始的时候,只有根节点在这个队列里面。只要这个队列不空,就一直从队列中出队节点, 阅读全文
posted @ 2019-11-20 15:30 菜鸟奋斗史 阅读(169) 评论(0) 推荐(0)
摘要:题目描述: 在未排序的数组中找到第 k 个最大的元素。请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。 思路分析: 思路一:排序+遍历,如果是升序,那就是返回nums[n-k],如果是降序,那就是返回nums[k-1] 时间复杂度:O(Nlogn) 空间复杂度:O( 阅读全文
posted @ 2019-11-20 15:03 菜鸟奋斗史 阅读(305) 评论(0) 推荐(0)
摘要:题目描述: 反转一个单链表。 思路分析: 方法一:迭代假设存在链表 1 → 2 → 3 → Ø,我们想要把它改成 Ø ← 1 ← 2 ← 3。 在遍历列表时,将当前节点的 next 指针改为指向前一个元素。由于节点没有引用其上一个节点,因此必须事先存储其前一个元素。在更改引用之前,还需要另一个指针来 阅读全文
posted @ 2019-11-19 16:43 菜鸟奋斗史 阅读(258) 评论(0) 推荐(0)
摘要:题目描述: 给定一个由 '1'(陆地)和 '0'(水)组成的的二维网格,计算岛屿的数量。一个岛被水包围,并且它是通过水平方向或垂直方向上相邻的陆地连接而成的。你可以假设网格的四个边均被水包围。 思路分析:题解和示例图来自:liweiwei1419 说明:以下介绍的算法,除了并查集以外,DFS 和 B 阅读全文
posted @ 2019-11-19 10:46 菜鸟奋斗史 阅读(907) 评论(0) 推荐(0)
摘要:题目描述: 你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。 给定一个代表每个房屋存放金额的非负整数数组,计算你在不触动警报装置的情况下,能够偷窃到的最高金额。 思 阅读全文
posted @ 2019-11-18 15:46 菜鸟奋斗史 阅读(304) 评论(0) 推荐(0)