
数据结构与算法
文章平均质量分 54
墨java
这个作者很懒,什么都没留下…
展开
-
leetcode-array
leetcode-array42. 接雨水 42. 接雨水 题解: 按列求解,计算每列积水数量时,只需要将当前列墙的高度和左右最高墙的较低者比较。 使用动态规划计算出每列左右两边最高的墙。 class Solution { public int trap(int[] height) { if (height==null||height.length==0)return 0; int res = 0; //左边最高的墙 int[] le原创 2021-07-28 16:46:30 · 156 阅读 · 0 评论 -
leetcode-Tree
leetcode-Tree687. 最长同值路径 687. 最长同值路径 *题解:*递归函数的作用:当前节点的最长同值路径(左子树+右子树+当前节点) 因为当前节点的最长同值路径是由左右子树节点的和,所以采用后序遍历。 class Solution { int res = 0; public int longestUnivaluePath(TreeNode root) { if (root==null)return 0; longPath(root,root原创 2021-07-16 21:06:42 · 107 阅读 · 0 评论 -
下降路径最小和(动态规划)
下降路径最小和(动态规划) 题目描述: 给你一个 n x n 的 方形 整数数组 matrix ,请你找出并返回通过 matrix 的下降路径 的 最小和 。 下降路径 可以从第一行中的任何元素开始,并从每一行中选择一个元素。在下一行选择的元素和当前行所选元素最多相隔一列(即位于正下方或者沿对角线向左或者向右的第一个元素)。具体来说,位置 (row, col) 的下一个元素应当是 (row + 1, col - 1)、(row + 1, col) 或者 (row + 1, col + 1) 。 示例 1:原创 2021-04-20 12:35:25 · 522 阅读 · 0 评论 -
leecode剑指offer集合及题解(持续更新。。)
leecode剑指offer集合及题解剑指 Offer 03. 数组中重复的数字剑指 Offer 04. 二维数组中的查找剑指 Offer 06. 从尾到头打印链表剑指 Offer 07. 重建二叉树 剑指 Offer 03. 数组中重复的数字 题目:找出数组中重复的数字。 在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。 示例 1: 输入: [2, 3, 1, 0, 2原创 2021-03-28 17:12:25 · 607 阅读 · 0 评论