随笔分类 -  leetcode

摘要:给你一个整数数组 arr 和一个整数 difference,请你找出 arr 中所有相邻元素之间的差等于给定 difference 的等差子序列,并返回其中最长的等差子序列的长度。 示例 1: 输入:arr = [1,2,3,4], difference = 1输出:4解释:最长的等差子序列是 [1 阅读全文
posted @ 2020-07-24 21:08 XXXSANS 阅读(243) 评论(0) 推荐(0)
摘要:给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。 上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,在这种情况下,可以接 6 个单位的雨水(蓝色部分表示雨水)。 感谢 Marcos 贡献此图。 示例: 输入: [0,1, 阅读全文
posted @ 2020-07-24 20:47 XXXSANS 阅读(185) 评论(0) 推荐(0)
摘要:给你一个整数数组,返回它的某个 非空 子数组(连续元素)在执行一次可选的删除操作后,所能得到的最大元素总和。 换句话说,你可以从原数组中选出一个子数组,并可以决定要不要从中删除一个元素(只能删一次哦),(删除后)子数组中至少应当有一个元素,然后该子数组(剩下)的元素总和是所有子数组之中最大的。 注意 阅读全文
posted @ 2020-07-24 20:19 XXXSANS 阅读(176) 评论(0) 推荐(0)
摘要:给你两个长度相等的整数数组,返回下面表达式的最大值: |arr1[i] - arr1[j]| + |arr2[i] - arr2[j]| + |i - j| 其中下标 i,j 满足 0 <= i, j < arr1.length。 示例 1: 输入:arr1 = [1,2,3,4], arr2 = 阅读全文
posted @ 2020-07-24 16:26 XXXSANS 阅读(260) 评论(0) 推荐(0)
摘要:给定正整数 K,你需要找出可以被 K 整除的、仅包含数字 1 的最小正整数 N。 返回 N 的长度。如果不存在这样的 N,就返回 -1。 示例 1: 输入:1输出:1解释:最小的答案是 N = 1,其长度为 1。示例 2: 输入:2输出:-1解释:不存在可被 2 整除的正整数 N 。示例 3: 输入 阅读全文
posted @ 2020-07-22 12:27 XXXSANS 阅读(271) 评论(0) 推荐(0)
摘要:给定一个目录信息列表,包括目录路径,以及该目录中的所有包含内容的文件,您需要找到文件系统中的所有重复文件组的路径。一组重复的文件至少包括二个具有完全相同内容的文件。 输入列表中的单个目录信息字符串的格式如下: "root/d1/d2/.../dm f1.txt(f1_content) f2.txt( 阅读全文
posted @ 2020-07-19 17:55 XXXSANS 阅读(314) 评论(0) 推荐(0)
摘要:班上有 N 名学生。其中有些人是朋友,有些则不是。他们的友谊具有是传递性。如果已知 A 是 B 的朋友,B 是 C 的朋友,那么我们可以认为 A 也是 C 的朋友。所谓的朋友圈,是指所有朋友的集合。 给定一个 N * N 的矩阵 M,表示班级中学生之间的朋友关系。如果M[i][j] = 1,表示已知 阅读全文
posted @ 2020-07-19 13:52 XXXSANS 阅读(207) 评论(0) 推荐(0)
摘要:给定四个包含整数的数组列表 A , B , C , D ,计算有多少个元组 (i, j, k, l) ,使得 A[i] + B[j] + C[k] + D[l] = 0。 为了使问题简单化,所有的 A, B, C, D 具有相同的长度 N,且 0 ≤ N ≤ 500 。所有整数的范围在 -228 到 阅读全文
posted @ 2020-07-18 11:51 XXXSANS 阅读(180) 评论(0) 推荐(0)
摘要:给定一个未排序的数组,判断这个数组中是否存在长度为 3 的递增子序列。 数学表达式如下: 如果存在这样的 i, j, k, 且满足 0 ≤ i < j < k ≤ n-1,使得 arr[i] < arr[j] < arr[k] ,返回 true ; 否则返回 false 。说明: 要求算法的时间复杂 阅读全文
posted @ 2020-07-16 10:56 XXXSANS 阅读(151) 评论(0) 推荐(0)
摘要:给定不同面额的硬币和一个总金额。写出函数来计算可以凑成总金额的硬币组合数。假设每一种面额的硬币有无限个。 示例 1: 输入: amount = 5, coins = [1, 2, 5] 输出: 4 解释: 有四种方式可以凑成总金额: 5=5 5=2+2+1 5=2+1+1+1 5=1+1+1+1+1 阅读全文
posted @ 2020-07-15 16:00 XXXSANS 阅读(140) 评论(0) 推荐(0)
摘要:给定不同面额的硬币 coins 和一个总金额 amount。编写一个函数来计算可以凑成总金额所需的最少的硬币个数。如果没有任何一种硬币组合能组成总金额,返回 -1。 示例 1: 输入: coins = [1, 2, 5], amount = 11输出: 3 解释: 11 = 5 + 5 + 1示例 阅读全文
posted @ 2020-07-15 15:40 XXXSANS 阅读(154) 评论(0) 推荐(0)
摘要:给定一个整数数组,其中第 i 个元素代表了第 i 天的股票价格 。​ 设计一个算法计算出最大利润。在满足以下约束条件下,你可以尽可能地完成更多的交易(多次买卖一支股票): 你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。卖出股票后,你无法在第二天买入股票 (即冷冻期为 1 天)。示例: 阅读全文
posted @ 2020-07-15 15:03 XXXSANS 阅读(160) 评论(0) 推荐(0)
摘要:给定正整数 n,找到若干个完全平方数(比如 1, 4, 9, 16, ...)使得它们的和等于 n。你需要让组成和的完全平方数的个数最少。 示例 1: 输入: n = 12输出: 3 解释: 12 = 4 + 4 + 4.示例 2: 输入: n = 13输出: 2解释: 13 = 4 + 9. 来源 阅读全文
posted @ 2020-07-15 14:37 XXXSANS 阅读(149) 评论(0) 推荐(0)
摘要:编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target。该矩阵具有以下特性: 每行的元素从左到右升序排列。每列的元素从上到下升序排列。示例: 现有矩阵 matrix 如下: [ [1, 4, 7, 11, 15], [2, 5, 8, 12, 19], [3, 6, 阅读全文
posted @ 2020-07-15 14:14 XXXSANS 阅读(189) 评论(0) 推荐(0)
摘要:给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。” 例如,给定如下二叉树: root = [3,5,1, 阅读全文
posted @ 2020-07-15 13:41 XXXSANS 阅读(175) 评论(0) 推荐(0)
摘要:给定一个二叉搜索树,编写一个函数 kthSmallest 来查找其中第 k 个最小的元素。 说明:你可以假设 k 总是有效的,1 ≤ k ≤ 二叉搜索树元素个数。 示例 1: 输入: root = [3,1,4,null,2], k = 1 3 / \ 1 4 \ 2输出: 1示例 2: 输入: r 阅读全文
posted @ 2020-07-15 13:16 XXXSANS 阅读(196) 评论(0) 推荐(0)
摘要:在一个由 0 和 1 组成的二维矩阵内,找到只包含 1 的最大正方形,并返回其面积。 示例: 输入: 1 0 1 0 01 0 1 1 11 1 1 1 11 0 0 1 0 输出: 4 来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/maxim 阅读全文
posted @ 2020-07-14 13:12 XXXSANS 阅读(144) 评论(0) 推荐(0)
摘要:在未排序的数组中找到第 k 个最大的元素。请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。 示例 1: 输入: [3,2,1,5,6,4] 和 k = 2输出: 5示例 2: 输入: [3,2,3,1,2,4,5,5,6] 和 k = 4输出: 4说明: 你可以假设 阅读全文
posted @ 2020-07-14 12:27 XXXSANS 阅读(133) 评论(0) 推荐(0)
摘要:给定两个数组,编写一个函数来计算它们的交集。 示例 1: 输入: nums1 = [1,2,2,1], nums2 = [2,2]输出: [2,2]示例 2: 输入: nums1 = [4,9,5], nums2 = [9,4,9,8,4]输出: [4,9]说明: 输出结果中每个元素出现的次数,应与 阅读全文
posted @ 2020-07-13 11:12 XXXSANS 阅读(1250) 评论(0) 推荐(0)
摘要:给定范围 [m, n],其中 0 <= m <= n <= 2147483647,返回此范围内所有数字的按位与(包含 m, n 两端点)。 示例 1: 输入: [5,7]输出: 4示例 2: 输入: [0,1]输出: 0 链接:https://leetcode-cn.com/problems/bit 阅读全文
posted @ 2020-07-12 16:51 XXXSANS 阅读(201) 评论(0) 推荐(0)