随笔分类 -  数据结构

摘要:问题描述 给你一个整数数组 nums 和一个整数 threshold 。 找到长度为 k 的 nums 子数组,满足数组中 每个 元素都 大于 threshold / k 。 请你返回满足要求的 任意 子数组的 大小 。如果没有这样的子数组,返回 -1 。 子数组 是数组中一段连续非空的元素序列。 阅读全文
posted @ 2022-07-10 10:19 hyserendipity 阅读(35) 评论(0) 推荐(0)
摘要:问题描述 给你两个下标从 0 开始且长度为 n 的整数数组 nums1 和 nums2 ,两者都是 [0, 1, ..., n - 1] 的 排列 。 好三元组 指的是 3 个 互不相同 的值,且它们在数组 nums1 和 nums2 中出现顺序保持一致。换句话说,如果我们将 pos1v 记为值 v 阅读全文
posted @ 2022-07-09 20:03 hyserendipity 阅读(57) 评论(0) 推荐(0)
摘要:问题描述 给定一个数组 nums ,如果 i < j 且 nums[i] > 2*nums[j] 我们就将 (i, j) 称作一个重要翻转对。 你需要返回给定数组中的重要翻转对的数量。 示例 1: 输入: [1,3,2,3,1] 输出: 2 示例 2: 输入: [2,4,3,5,1] 输出: 3 注 阅读全文
posted @ 2022-07-05 23:04 hyserendipity 阅读(40) 评论(0) 推荐(0)
摘要:问题描述 给你一个整数数组 nums 以及两个整数 lower 和 upper 。求数组中,值位于范围 [lower, upper] (包含 lower 和 upper)之内的 区间和的个数 。 区间和 S(i, j) 表示在 nums 中,位置从 i 到 j 的元素之和,包含 i 和 j (i ≤ 阅读全文
posted @ 2022-07-05 22:43 hyserendipity 阅读(52) 评论(0) 推荐(0)
摘要:问题描述 给你一个整数数组 nums ,按要求返回一个新数组 counts 。数组 counts 有该性质: counts[i] 的值是 nums[i] 右侧小于 nums[i] 的元素的数量。 示例 1: 输入:nums = [5,2,6,1] 输出:[2,1,1,0] 解释: 5 的右侧有 2 阅读全文
posted @ 2022-07-05 20:36 hyserendipity 阅读(68) 评论(0) 推荐(0)
摘要:2022-06-25 15:18:28 问题描述: 一个数字的 分数 定义为数组之和 乘以 数组的长度。 比方说,[1, 2, 3, 4, 5] 的分数为 (1 + 2 + 3 + 4 + 5) * 5 = 75 。 给你一个正整数数组 nums 和一个整数 k ,请你返回 nums 中分数 严格小 阅读全文
posted @ 2022-06-25 15:20 hyserendipity 阅读(44) 评论(0) 推荐(0)
摘要:2022-06-11 21:17:00 问题描述: 给你一个下标从 0 开始的整数数组 nums 。在一步操作中,移除所有满足 nums[i - 1] > nums[i] 的 nums[i] ,其中 0 < i < nums.length 。 重复执行步骤,直到 nums 变为 非递减 数组,返回所 阅读全文
posted @ 2022-06-11 21:18 hyserendipity 阅读(89) 评论(0) 推荐(0)
摘要:2022-05-28 22:13:32 问题描述: 作为国王的统治者,你有一支巫师军队听你指挥。 给你一个下标从 0 开始的整数数组 strength ,其中 strength[i] 表示第 i 位巫师的力量值。对于连续的一组巫师(也就是这些巫师的力量值是 strength 的 子数组),总力量 定 阅读全文
posted @ 2022-05-28 22:22 hyserendipity 阅读(54) 评论(0) 推荐(0)
摘要:2022-05-25 21:40:29 问题描述: 给定一个整数数组 arr,找到 min(b) 的总和,其中 b 的范围为 arr 的每个(连续)子数组。 由于答案可能很大,因此 返回答案模 10^9 + 7 。 示例 1: 输入:arr = [3,1,2,4]输出:17解释:子数组为 [3],[ 阅读全文
posted @ 2022-05-25 21:45 hyserendipity 阅读(41) 评论(0) 推荐(0)
摘要:2022-04-30 20:06:01 问题描述: 给你一个下标从 0 开始的二维整数数组 flowers ,其中 flowers[i] = [starti, endi] 表示第 i 朵花的 花期 从 starti 到 endi (都 包含)。同时给你一个下标从 0 开始大小为 n 的整数数组 pe 阅读全文
posted @ 2022-04-30 20:10 hyserendipity 阅读(53) 评论(0) 推荐(0)
摘要:2020-05-15 10:40:43 问题描述: 给你一个 m * n 的矩阵 mat,以及一个整数 k ,矩阵中的每一行都以非递减的顺序排列。 你可以从每一行中选出 1 个元素形成一个数组。返回所有可能数组中的第 k 个 最小 数组和。 示例 1: 输入:mat = [[1,3,11],[2,4 阅读全文
posted @ 2020-05-15 10:45 hyserendipity 阅读(454) 评论(0) 推荐(0)
摘要:2020-05-13 09:38:46 问题描述: 这个问题和“最多能完成排序的块”相似,但给定数组中的元素可以重复,输入数组最大长度为2000,其中的元素最大为10**8。 arr是一个可能包含重复元素的整数数组,我们将这个数组分割成几个“块”,并将这些块分别进行排序。之后再连接起来,使得连接的结 阅读全文
posted @ 2020-05-13 09:44 hyserendipity 阅读(244) 评论(0) 推荐(0)
摘要:2020-05-05 22:02:37 问题描述: 给定一个整数序列:a1, a2, ..., an,一个132模式的子序列 ai, aj, ak 被定义为:当 i < j < k 时,ai < ak < aj。设计一个算法,当给定有 n 个数字的序列时,验证这个序列中是否含有132模式的子序列。 阅读全文
posted @ 2020-05-05 22:05 hyserendipity 阅读(232) 评论(0) 推荐(0)
摘要:2020-05-05 17:00:57 问题描述: 给你一个整数数组 nums ,和一个表示限制的整数 limit,请你返回最长连续子数组的长度,该子数组中的任意两个元素之间的绝对差必须小于或者等于 limit 。 如果不存在满足条件的子数组,则返回 0 。 示例 1: 输入:nums = [8,2 阅读全文
posted @ 2020-05-05 17:14 hyserendipity 阅读(244) 评论(0) 推荐(0)
摘要:2020-04-30 16:14:21 问题描述: 请设计一个算法,给一个字符串进行二进制编码,使得编码后字符串的长度最短。 输入 MT-TECH-TEAM 输出 33 问题求解: 本质就是按照频率建哈夫曼树,需要注意的是最后的深度其实就是合并的次数,没合并一次则深度加一。 private int 阅读全文
posted @ 2020-04-30 16:18 hyserendipity 阅读(196) 评论(0) 推荐(0)
摘要:2020-04-25 22:57:32 439. 线段树的构造 II 线段树是一棵二叉树,他的每个节点包含了两个额外的属性start和end用于表示该节点所代表的区间。start和end都是整数,并按照如下的方式赋值: 根节点的 start 和 end 由 build 方法所给出。 对于节点 A 的 阅读全文
posted @ 2020-04-25 23:03 hyserendipity 阅读(703) 评论(0) 推荐(0)
摘要:2020-04-25 18:39:55 问题描述: 给定一个正整数数组 A,如果 A 的某个子数组中不同整数的个数恰好为 K,则称 A 的这个连续、不一定独立的子数组为好子数组。 (例如,[1,2,3,1,2] 中有 3 个不同的整数:1,2,以及 3。) 返回 A 中好子数组的数目。 示例 1: 阅读全文
posted @ 2020-04-25 18:43 hyserendipity 阅读(366) 评论(0) 推荐(0)
摘要:2020-04-03 12:35:23 问题描述: 已知一个数列,你需要进行下面两种操作:1.将一个区间每一个数加上x2.求出某一个数的值输入:原数组为A。为了方便,A[0]为0.实际数列从A[1]开始。操作通过4元组给出。对于每个4元组(a,b,c,d):如果a=0 要求A[b]-A[c]区间的值 阅读全文
posted @ 2020-04-03 12:38 hyserendipity 阅读(309) 评论(0) 推荐(0)
摘要:2020-04-01 08:15:56 问题描述: 给出一个整数数组,堆化操作就是把它变成一个最小堆数组。 对于堆数组A,A[0]是堆的根,并对于每个A[i],A [i * 2 + 1]是A[i]的左儿子并且A[i * 2 + 2]是A[i]的右儿子。 样例 输入 : [3,2,1,4,5] 输出 阅读全文
posted @ 2020-04-01 08:21 hyserendipity 阅读(603) 评论(0) 推荐(0)
摘要:2020-03-18 21:58:18 问题描述: 给你一个数组A [1..n],你需要计算多少三元组(i,j,k)满足(i <j <k)和((A [i] xor A [j])<(A [j] xor A [k])) 样例 样例 1: 输入:[1,2,3,4,5] 输出:6 解释:[1,2,4],[1 阅读全文
posted @ 2020-03-18 22:00 hyserendipity 阅读(183) 评论(0) 推荐(0)