小念子

  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 :: 管理 ::

随笔分类 -  LeetCode

摘要:给定一个整数数组和一个整数 k,你需要找到该数组中和为 k 的连续的子数组的个数。 解答: public int subarraySum(int[] nums, int k) { int ret = 0; int sum = 0; Map<Integer, Integer> map = new Ha 阅读全文
posted @ 2021-03-02 15:13 小念子 阅读(78) 评论(0) 推荐(0)

摘要:数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。 解答: private int number; private List<String> result; public List<String> generateParenthesis1(int n) { 阅读全文
posted @ 2021-02-19 19:55 小念子 阅读(42) 评论(0) 推荐(0)

摘要:给定一个链表,每个节点包含一个额外增加的随机指针,该指针可以指向链表中的任何节点或空节点。 要求返回这个链表的 深拷贝。 我们用一个由 n 个节点组成的链表来表示输入/输出中的链表。每个节点用一个 [val, random_index] 表示: val:一个表示 Node.val 的整数。rando 阅读全文
posted @ 2021-01-19 15:08 小念子 阅读(36) 评论(0) 推荐(0)

摘要:运用你所掌握的数据结构,设计和实现一个 LRU (最近最少使用) 缓存机制 。实现 LRUCache 类: LRUCache(int capacity) 以正整数作为容量 capacity 初始化 LRU 缓存int get(int key) 如果关键字 key 存在于缓存中,则返回关键字的值,否则 阅读全文
posted @ 2021-01-14 11:30 小念子 阅读(88) 评论(0) 推荐(0)

摘要:树指的是一个连通且无环的无向图。 输入一个图,该图由一个有着N个节点 (节点值不重复1, 2, ..., N) 的树及一条附加的边构成。附加的边的两个顶点包含在1到N中间,这条附加的边不属于树中已存在的边。 结果图是一个以边组成的二维数组。每一个边的元素是一对[u, v] ,满足 u < v,表示连 阅读全文
posted @ 2021-01-14 10:31 小念子 阅读(90) 评论(0) 推荐(0)

摘要:给定不同面额的硬币 coins 和一个总金额 amount。编写一个函数来计算可以凑成总金额所需的最少的硬币个数。如果没有任何一种硬币组合能组成总金额,返回 -1。 你可以认为每种硬币的数量是无限的 解答: 方法1、动态规划 count[amount] = min{ count[amount - c 阅读全文
posted @ 2020-12-23 17:44 小念子 阅读(104) 评论(0) 推荐(0)

摘要:给出一个以头节点 head 作为第一个节点的链表。链表中的节点分别编号为:node_1, node_2, node_3, ... 。 每个节点都可能有下一个更大值(next larger value):对于 node_i,如果其 next_larger(node_i) 是 node_j.val,那么 阅读全文
posted @ 2020-11-21 16:34 小念子 阅读(154) 评论(0) 推荐(0)

摘要:给定一组非负整数 nums,重新排列它们每个数字的顺序(每个数字不可拆分)使之组成一个最大的整数。 注意:输出结果可能非常大,所以你需要返回一个字符串而不是整数。 解答: 自定义一种排序方法,降序排序,最后将排序后的结果合并 public String largestNumber(int[] num 阅读全文
posted @ 2020-11-21 15:53 小念子 阅读(110) 评论(0) 推荐(0)

摘要:给定一个只包含三种字符的字符串:( ,) 和 *,写一个函数来检验这个字符串是否为有效字符串。有效字符串具有如下规则: 1.任何左括号 ( 必须有相应的右括号 )。 2.任何右括号 ) 必须有相应的左括号 ( 。 3.左括号 ( 必须在对应的右括号之前 )。 4.* 可以被视为单个右括号 ) ,或单 阅读全文
posted @ 2020-11-21 11:37 小念子 阅读(130) 评论(0) 推荐(0)

摘要:给定一个用字符数组表示的 CPU 需要执行的任务列表。其中包含使用大写的 A - Z 字母表示的26 种不同种类的任务。任务可以以任意顺序执行,并且每个任务都可以在 1 个单位时间内执行完。CPU 在任何一个单位时间内都可以执行一个任务,或者在待命状态。 然而,两个相同种类的任务之间必须有长度为 n 阅读全文
posted @ 2020-11-16 21:07 小念子 阅读(151) 评论(0) 推荐(0)

摘要:给定一个整数数组 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 阅读全文
posted @ 2020-11-14 16:11 小念子 阅读(173) 评论(0) 推荐(0)

摘要:给出一个由无重复的正整数组成的集合,找出其中最大的整除子集,子集中任意一对 (Si,Sj) 都要满足:Si % Sj = 0 或 Sj % Si = 0。 如果有多个目标子集,返回其中任何一个均可。 解答 1、由题意知,集合是无序的,因此针对nums[i],先进行从小到大排序 2、使用dp[i]:表 阅读全文
posted @ 2020-11-14 15:57 小念子 阅读(113) 评论(0) 推荐(0)

摘要:给定一个平衡括号字符串 S,按下述规则计算该字符串的分数: () 得 1 分。AB 得 A + B 分,其中 A 和 B 是平衡括号字符串。(A) 得 2 * A 分,其中 A 是平衡括号字符串。 解答: 使用count统计括号数量,遇左括号++,遇右括号--,当count==0时,说明可以进行计算 阅读全文
posted @ 2020-11-09 20:36 小念子 阅读(142) 评论(0) 推荐(0)

摘要:题意 一条包含字母 A-Z 的消息通过以下方式进行了编码: 'A' -> 1'B' -> 2...'Z' -> 26给定一个只包含数字的非空字符串,请计算解码方法的总数。 题目数据保证答案肯定是一个 32 位的整数。 提示 1 <= s.length <= 100 s 只包含数字,并且可以包含前导零 阅读全文
posted @ 2020-11-05 20:56 小念子 阅读(109) 评论(0) 推荐(0)

摘要:题意 给定一个包含了一些 0 和 1 的非空二维数组 grid 。 一个 岛屿 是由一些相邻的 1 (代表土地) 构成的组合,这里的「相邻」要求两个 1 必须在水平或者竖直方向上相邻。你可以假设 grid 的四个边缘都被 0(代表水)包围着。 找到给定的二维数组中最大的岛屿面积。(如果没有岛屿,则返 阅读全文
posted @ 2020-10-26 20:23 小念子 阅读(136) 评论(0) 推荐(0)

摘要:题意: 您需要在二叉树的每一行中找到最大的值 解答: 携带层序,边递归遍历,边比较并更新每一层的最大值(保存在list中) public List<Integer> largestValues(TreeNode root) { if (root == null) { return Collectio 阅读全文
posted @ 2020-10-22 21:18 小念子 阅读(124) 评论(0) 推荐(0)

摘要:题意: 给定二叉树,按垂序遍历返回其结点值。 对位于 (X, Y) 的每个结点而言,其左右子结点分别位于 (X-1, Y-1) 和 (X+1, Y-1)。 把一条垂线从 X = -infinity 移动到 X = +infinity ,每当该垂线与结点接触时,我们按从上到下的顺序报告结点的值( Y  阅读全文
posted @ 2020-10-15 21:34 小念子 阅读(143) 评论(0) 推荐(0)

摘要:题意: 字符串S和 T 只包含小写字符。在S中,所有字符只会出现一次。 S 已经根据某种规则进行了排序。我们要根据S中的字符顺序对T进行排序。更具体地说,如果S中x在y之前出现,那么返回的字符串中x也应出现在y之前。 返回任意一种符合条件的字符串T。 示例: 输入:S = "cba"T = "abc 阅读全文
posted @ 2020-10-15 19:52 小念子 阅读(132) 评论(0) 推荐(0)