跳至内容

拾光小记

标签: 算法

LeetCode_230_二叉搜索树中第K小的元素

LeetCode_230_二叉搜索树中第K小的元素

题目 思路 由于搜索树的中序遍历就是按节点元素从小到大的方式输出的,所以只需通过中序遍历得到遍历的结果集合。然后再从结果集中返回第K个元素即可。 递归方式 public int solution(TreeNode root, int k) { List<Integer> vals = …

水平顺序输出二叉树

水平顺序输出二叉树

题目 给定一个二叉树,逐行输出二叉树中的每个节点 如:二叉树[1,2,3,4,5,6] 输出:[[1],[2,3],[4,5,6]] 思路 深度优先(DFS) 沿着二叉树的某一个路径遍历,一直到达路径最末端。然后继续遍历其他路径,直到所有路径遍历完成为止。 本题,我们可以使用二叉树的前序遍历实现。 …

Leetcode-62-不同路径问题

Leetcode-62-不同路径问题

思路 动态规划: 根据跟定条件可以看出,这道题其实就是一个m*n的二维表格。对于给定的位置p(x,y),能到达p的所有可能情况有 从上往下p1(x - 1, y) -> p 从左往右p2(x, y -1) -> p 那么达到p的所有可能路径是paths(p1) + paths(p2); …

leetcode11_ 盛最多水的容器

leetcode11_ 盛最多水的容器

题目 给你 n 个非负整数 a1,a2,…,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0) 。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。 说明:你不能倾斜容器。 示例 …

货物装满最多箱子问题

问题 有一批货,体积大小随机,有一批箱子,体积固定为3,不考虑货物的体积,求给定货物最多能装满几个箱子。 说明:体积为6的货物可以用2个箱子装完,体积为7的箱子不能被箱子装下 __ 思路 当货物的体积为3的整数倍时,货物可以刚好装满箱子 当货物总体积除以3余1时,说明至少存在一个体积除3余1的货物 …