随笔分类 -  LeetCode—汇总

摘要:Leetcode 111 二叉树最小深度 给定一颗二叉树,求根节点到叶子节点的最短路径(最小深度) class Solution{ public int minDepth(TreeNode root){ //若无根节点(空树),则返回0 if(root==null) { return 0; } // 阅读全文
posted @ 2020-08-09 10:27 CodeSPA 阅读(117) 评论(0) 推荐(0)
摘要:LeetCode 59 螺旋矩阵II 该题与leetcode 54 螺旋矩阵I异曲同工,同样需要使用方向数组来进行周期性的方向调整 执行用时:0 ms, 在所有 Java 提交中击败了100.00%的用户 内存消耗:37.3 MB, 在所有 Java 提交中击败了80.52%的用户 class So 阅读全文
posted @ 2020-07-31 09:19 CodeSPA 阅读(89) 评论(0) 推荐(0)
摘要:LeetCode 343 整数拆分 题目描述: 给定一个正整数,将其拆分为至少2个正整数之和,求出拆分后所有数的最大乘积 超出时间限制 递归(暴力),对于数n,每次将其拆分为两个数:curr(本次拆分值)、rem(剩余值),并递归调用对rem继续拆分直到为0、1 记忆化递归(优化),将对每次rem的 阅读全文
posted @ 2020-07-30 10:05 CodeSPA 阅读(163) 评论(0) 推荐(0)
摘要:LeetCode 329 矩阵中最长增长路径 取自官方题解 记忆化深度遍历 class Solution { //方向矩阵: 上、下、左、右 public int[][] dirs = {{-1, 0}, {1, 0}, {0, -1}, {0, 1}}; public int rows, colu 阅读全文
posted @ 2020-07-28 10:53 CodeSPA 阅读(160) 评论(0) 推荐(0)
摘要:#Leetcode 面试题 特定深度节点链表 给定一个二叉树,要求返回一个ListNode[] ListNode[]中每个节点i代表二叉树中第i层从左到右所有节点构成的链表 思路: BFS 遍历过程中对每层节点创建一个ListNode链表,并将头节点放入返回参数ListNode[]中 执行结果: 通 阅读全文
posted @ 2020-07-25 09:17 CodeSPA 阅读(128) 评论(0) 推荐(0)
摘要:Leetcode 100 相同的树 给定根节点,比较两棵树是否相同 重点: 先比较当前节点(根节点)是否相同: 都不存在 or 都存在且值相同 根节点不同,直接返回false 根节点相同,向下递归判断左右子节点是否相同,返回值为: 左右子节点是否都相同 实现: 递归 class Solution { 阅读全文
posted @ 2020-07-22 09:38 CodeSPA 阅读(92) 评论(0) 推荐(0)
摘要:剑指Offer 11 旋转数组最小数字 错误代码 //部分有序数组查找: 改进二分法 class Solution { public int minArray(int[] numbers) { //单元素 if(numbers.length==1) return numbers[0]; //未旋转 阅读全文
posted @ 2020-07-22 09:06 CodeSPA 阅读(91) 评论(0) 推荐(0)
摘要:Leetcode 96 不同的二叉搜索树 /**动态规划 * 状态定义: * DP[n]表示1~n个节点构成的二叉搜索树总数, 等于以i (1<=i<=n)为根节点的二叉搜索树数量之和 * 状态递推: * 根节点i左侧由 i-1 个节点构成,数量为 DP[i-1]; 右侧由 n-i 个节点构成,数量 阅读全文
posted @ 2020-07-21 08:52 CodeSPA 阅读(79) 评论(0) 推荐(0)
摘要:Leetcode 64 最小路径和 典型的动态规划问题 /**动态规划 * 1. DP[i][j]表示从起点(0,0)到(i,j)位置的最小路径 * 2. DP[i][j]只与DP[i-1][j]、DP[i][j-1]有关 * 3. DP[i][j] = Min(DP[i-1][j], DP[i][ 阅读全文
posted @ 2020-07-20 20:08 CodeSPA 阅读(113) 评论(0) 推荐(0)
摘要:LeetCode 54 螺旋矩阵 在给定矩阵中,以螺旋的顺序(右->下->左->上->右)遍历所有元素并输出 方法: 方向数组 方向数组中存储一组与方向向量,每个方向上遍历过程需要用到该方向的方向向量来完成坐标的转换 方向数组中的所有方向向量以循环的方式被使用,切换的条件是该方向的遍历到达边界:ro 阅读全文
posted @ 2020-07-14 14:06 CodeSPA 阅读(171) 评论(0) 推荐(0)
摘要:#LeetCode 120 三角形最小路径和 尝试一: 贪心策略(无法得到全局最优解) 每层向下在所有可选节点中选择一个值最小的节点 错误示例: [[1], [2,3], [1,-1,-3]] 贪心结果: 1+2+(-1)=2 正确结果: 1+3+(-3)=1 尝试二: DFS搜索(存在超时可能) 阅读全文
posted @ 2020-07-14 13:35 CodeSPA 阅读(139) 评论(0) 推荐(0)
摘要:二维BFS 待更新 二维DFS 超出时间限制 回溯条件 遇到子节点为1,该路径走不通,回溯 向右、向下超出边界 到达终点 怎路径数量 路径不通: 返回0 可以到达终点: 返回1 当前节点向上返回所有子节点返回值之和 class Solution_LC_63 { public int uniquePa 阅读全文
posted @ 2020-07-06 16:19 CodeSPA 阅读(111) 评论(0) 推荐(0)