摘要:
LeetCode 406 根据身高重建队列 问题描述: 假设有打乱顺序的一群人站成一个队列。 每个人由一个整数对(h, k)表示,其中h是这个人的身高,k是排在这个人前面且身高大于或等于h的人数。 编写一个算法来重建这个队列。 注意: 总人数少于1100人。 示例: 输入: [[7,0], [4,4 阅读全文
摘要:
LeetCode 922 按奇偶排序数组II 问题描述: 给定一个非负整数数组 A, A 中一半整数是奇数,一半整数是偶数。 对数组进行排序,以便当 A[i] 为奇数时,i 也是奇数;当 A[i] 为偶数时, i 也是偶数。 你可以返回任何满足上述条件的数组作为答案。 示例: 输入:[4,2,5,7 阅读全文
摘要:
LeetCode 31 下一个排列 问题描述 实现获取下一个排列的函数,算法需要将给定数字序列重新排列成字典序中下一个更大的排列。 如果不存在下一个更大的排列,则将数字重新排列成最小的排列(即升序排列)。 必须原地修改,只允许使用额外常数空间。 以下是一些例子,输入位于左侧列,其相应输出位于右侧列。 阅读全文
摘要:
LeetCode 941 有效的山脉数组 问题描述: 给定一个整数数组 A,如果它是有效的山脉数组就返回 true,否则返回 false。 让我们回顾一下,如果 A 满足下述条件,那么它是一个山脉数组: A.length >= 3 在 0 < i < A.length - 1 条件下,存在 i 使得 阅读全文
摘要:
LeetCode 面试题4 二维数组中的查找 问题描述: 在一个 n * m 的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个高效的函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 递归 矩阵反对角线 (右上到左下) 上的元素将矩阵中 阅读全文
摘要:
LeetCode 463 岛屿的周长 问题描述: 给定一个包含 0 和 1 的二维网格地图,其中 1 表示陆地 0 表示水域。 网格中的格子水平和垂直方向相连(对角线方向不相连)。整个网格被水完全包围,但其中恰好有一个岛屿(或者说,一个或多个表示陆地的格子相连组成的岛屿)。 岛屿中没有“湖”(“湖” 阅读全文
摘要:
LeetCode 129 求根到叶子节点数字之和 问题描述: 给定一个二叉树,它的每个结点都存放一个 0-9 的数字,每条从根到叶子节点的路径都代表一个数字。 例如,从根到叶子节点路径 1->2->3 代表数字 123。 计算从根到叶子节点生成的所有数字之和。 说明: 叶子节点是指没有子节点的节点。 阅读全文
摘要:
LeetCode 1207 独一无二的出现次数 问题描述: 给你一个整数数组 arr,请你帮忙统计数组中每个数的出现次数。 如果每个数的出现次数都是独一无二的,就返回 true;否则返回 false。 Map+Set 执行用时:2 ms, 在所有 Java 提交中击败了91.43%的用户 内存消耗: 阅读全文
摘要:
LeetCode 144 二叉树的前序遍历 问题描述 给定一个二叉树,返回它的 前序 遍历。 迭代法 执行用时:0 ms, 在所有 Java 提交中击败了100.00%的用户 内存消耗:36.4 MB, 在所有 Java 提交中击败了98.91%的用户 class Solution { public 阅读全文
摘要:
LeetCode 763 划分字母区间 问题描述: 字符串 S 由小写字母组成。我们要把这个字符串划分为尽可能多的片段,同一个字母只会出现在其中的一个片段。返回一个表示每个字符串片段的长度的列表。 双指针 指针curr指向当前遍历到的字符 指针end指向已遍历过的字符最后出现的位置 使用一个数组统计 阅读全文