摘要:给定一个整数数组和一个整数 k,你需要找到该数组中和为 k 的连续的子数组的个数。 解答: public int subarraySum(int[] nums, int k) { int ret = 0; int sum = 0; Map<Integer, Integer> map = new Ha
阅读全文
随笔分类 - LeetCode
摘要:数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。 解答: private int number; private List<String> result; public List<String> generateParenthesis1(int n) {
阅读全文
摘要:给定一个链表,每个节点包含一个额外增加的随机指针,该指针可以指向链表中的任何节点或空节点。 要求返回这个链表的 深拷贝。 我们用一个由 n 个节点组成的链表来表示输入/输出中的链表。每个节点用一个 [val, random_index] 表示: val:一个表示 Node.val 的整数。rando
阅读全文
摘要:运用你所掌握的数据结构,设计和实现一个 LRU (最近最少使用) 缓存机制 。实现 LRUCache 类: LRUCache(int capacity) 以正整数作为容量 capacity 初始化 LRU 缓存int get(int key) 如果关键字 key 存在于缓存中,则返回关键字的值,否则
阅读全文
摘要:树指的是一个连通且无环的无向图。 输入一个图,该图由一个有着N个节点 (节点值不重复1, 2, ..., N) 的树及一条附加的边构成。附加的边的两个顶点包含在1到N中间,这条附加的边不属于树中已存在的边。 结果图是一个以边组成的二维数组。每一个边的元素是一对[u, v] ,满足 u < v,表示连
阅读全文
摘要:给定不同面额的硬币 coins 和一个总金额 amount。编写一个函数来计算可以凑成总金额所需的最少的硬币个数。如果没有任何一种硬币组合能组成总金额,返回 -1。 你可以认为每种硬币的数量是无限的 解答: 方法1、动态规划 count[amount] = min{ count[amount - c
阅读全文
摘要:给出一个以头节点 head 作为第一个节点的链表。链表中的节点分别编号为:node_1, node_2, node_3, ... 。 每个节点都可能有下一个更大值(next larger value):对于 node_i,如果其 next_larger(node_i) 是 node_j.val,那么
阅读全文
摘要:给定一组非负整数 nums,重新排列它们每个数字的顺序(每个数字不可拆分)使之组成一个最大的整数。 注意:输出结果可能非常大,所以你需要返回一个字符串而不是整数。 解答: 自定义一种排序方法,降序排序,最后将排序后的结果合并 public String largestNumber(int[] num
阅读全文
摘要:给定一个只包含三种字符的字符串:( ,) 和 *,写一个函数来检验这个字符串是否为有效字符串。有效字符串具有如下规则: 1.任何左括号 ( 必须有相应的右括号 )。 2.任何右括号 ) 必须有相应的左括号 ( 。 3.左括号 ( 必须在对应的右括号之前 )。 4.* 可以被视为单个右括号 ) ,或单
阅读全文
摘要:给定一个用字符数组表示的 CPU 需要执行的任务列表。其中包含使用大写的 A - Z 字母表示的26 种不同种类的任务。任务可以以任意顺序执行,并且每个任务都可以在 1 个单位时间内执行完。CPU 在任何一个单位时间内都可以执行一个任务,或者在待命状态。 然而,两个相同种类的任务之间必须有长度为 n
阅读全文
摘要:给定一个整数数组 A,返回 A 中最长等差子序列的长度。 回想一下,A 的子序列是列表 A[i_1], A[i_2], ..., A[i_k] 其中 0 <= i_1 < i_2 < ... < i_k <= A.length - 1。并且如果 B[i+1] - B[i]( 0 <= i < B.l
阅读全文
摘要:给出一个由无重复的正整数组成的集合,找出其中最大的整除子集,子集中任意一对 (Si,Sj) 都要满足:Si % Sj = 0 或 Sj % Si = 0。 如果有多个目标子集,返回其中任何一个均可。 解答 1、由题意知,集合是无序的,因此针对nums[i],先进行从小到大排序 2、使用dp[i]:表
阅读全文
摘要:给定一个平衡括号字符串 S,按下述规则计算该字符串的分数: () 得 1 分。AB 得 A + B 分,其中 A 和 B 是平衡括号字符串。(A) 得 2 * A 分,其中 A 是平衡括号字符串。 解答: 使用count统计括号数量,遇左括号++,遇右括号--,当count==0时,说明可以进行计算
阅读全文
摘要:题意 一条包含字母 A-Z 的消息通过以下方式进行了编码: 'A' -> 1'B' -> 2...'Z' -> 26给定一个只包含数字的非空字符串,请计算解码方法的总数。 题目数据保证答案肯定是一个 32 位的整数。 提示 1 <= s.length <= 100 s 只包含数字,并且可以包含前导零
阅读全文
摘要:题意 给定一个包含了一些 0 和 1 的非空二维数组 grid 。 一个 岛屿 是由一些相邻的 1 (代表土地) 构成的组合,这里的「相邻」要求两个 1 必须在水平或者竖直方向上相邻。你可以假设 grid 的四个边缘都被 0(代表水)包围着。 找到给定的二维数组中最大的岛屿面积。(如果没有岛屿,则返
阅读全文
摘要:题意: 您需要在二叉树的每一行中找到最大的值 解答: 携带层序,边递归遍历,边比较并更新每一层的最大值(保存在list中) public List<Integer> largestValues(TreeNode root) { if (root == null) { return Collectio
阅读全文
摘要:题意: 给定二叉树,按垂序遍历返回其结点值。 对位于 (X, Y) 的每个结点而言,其左右子结点分别位于 (X-1, Y-1) 和 (X+1, Y-1)。 把一条垂线从 X = -infinity 移动到 X = +infinity ,每当该垂线与结点接触时,我们按从上到下的顺序报告结点的值( Y
阅读全文
摘要:题意: 字符串S和 T 只包含小写字符。在S中,所有字符只会出现一次。 S 已经根据某种规则进行了排序。我们要根据S中的字符顺序对T进行排序。更具体地说,如果S中x在y之前出现,那么返回的字符串中x也应出现在y之前。 返回任意一种符合条件的字符串T。 示例: 输入:S = "cba"T = "abc
阅读全文

浙公网安备 33010602011771号