摘要: 1438. 绝对差不超过限制的最长连续子数组 题目来源 1438. 绝对差不超过限制的最长连续子数组 思路 方法一 滑动窗口+有序集合 使用滑动窗口保持符合条件的子数组,记录最长长度。 使用平衡数,统计当前窗口内的最大值和最小值。 使用left和right两个指针,分别指向滑动窗口的左右两边; ri 阅读全文
posted @ 2021-03-10 22:03 zzzzzy2k 阅读(82) 评论(0) 推荐(0) 编辑
摘要: 697. 数组的度 题目来源 697. 数组的度 思路 使用哈希表 先遍历一遍数组,记录数组中数字出现的次数,第一次出现的位置,以及最后一次出现的位置。 因为符合条件的数字可能有多个,所以还要进行比较。 我们使用哈希表实现该功能,每一个数映射到一个长度为 3 的数组,==数组中的三个元素分别代表这个 阅读全文
posted @ 2021-03-09 16:32 zzzzzy2k 阅读(43) 评论(0) 推荐(0) 编辑
摘要: 995. K 连续位的最小翻转次数 题目来源 995. K 连续位的最小翻转次数 思路 方法一、 差分思想 用差分思想来计算当前数字需要翻转的次数。开一个差分数组$diff[A.length+1]$来维护,多开1位,减少溢出判断 A的翻转次数为差分数组$d[i]$的累加和 当需要翻转时,只改变了$d 阅读全文
posted @ 2021-03-08 18:25 zzzzzy2k 阅读(59) 评论(0) 推荐(0) 编辑
摘要: 765. 情侣牵手 题目来源 765. 情侣牵手 思路 如果一对情侣恰好坐在了一起,并且坐在了成组的座位上,其中一个下标一定是偶数,另一个一定是奇数,并且「偶数的值 + 1 = 奇数的值」。例如编号数对 [2, 3]、[9, 8],这些数对的特点是除以 2(下取整)得到的数相等。 方法一、并查集 将 阅读全文
posted @ 2021-03-08 16:24 zzzzzy2k 阅读(86) 评论(0) 推荐(0) 编辑
摘要: 题目来源 448. 找到所有数组中消失的数字 思路 方法一 原地修改 由于数组中的数字不会超过数组大小,所以可以在将所有正数作为数组下标,并将对应的数组乘以$-1$变为负数。仍为真数的位置就是没有出现的数字。 例: 原始数组:[4,3,2,7,8,2,3,1] 重置后为:[-4,-3,-2,-7,8 阅读全文
posted @ 2021-02-16 15:29 zzzzzy2k 阅读(66) 评论(0) 推荐(0) 编辑
摘要: 题目来源 119. 杨辉三角 II 思路 方法一 杨辉三角的性质: 每行数字左右对齐,由1开始逐渐变大再变小,并最终回到1. 第$n$行(从$0$开始编号)的数字有$n+1$项,前$n$行共有$\frac{n(n+1)}{2}$个数。 第$n$行的第$m$个数(从$0$开始编号)可表示为可以被表示为 阅读全文
posted @ 2021-02-16 13:27 zzzzzy2k 阅读(91) 评论(0) 推荐(0) 编辑
摘要: 题目来源 703. 数据流中的第 K 大元素 题目描述: 设计一个找到数据流中第 k 大元素的类(class)。注意是排序后的第 k 大元素,不是第 k 个不同的元素。 请实现 KthLargest 类: KthLargest(int k, int[] nums) 使用整数 k 和整数流 nums 阅读全文
posted @ 2021-02-16 11:39 zzzzzy2k 阅读(71) 评论(0) 推荐(0) 编辑
摘要: 题目来源 567. 字符串的排列 思想及算法 双指针,滑动窗口 两个要点: 子串是连续的 第一个字符串不管怎样排序,出现的字符的次数是一定的,所以记录字符出现的频次即可。 一个左指针记录窗口开始位置,一个右指针记录窗口结束位置。 需要两个数组,一个数组用来记录字符串s1出现的次数,另一个数组用来维护 阅读全文
posted @ 2021-02-14 11:52 zzzzzy2k 阅读(76) 评论(0) 推荐(0) 编辑
摘要: 题目来源 992. K 个不同整数的子数组 题目描述:给定一个正整数数组 A,如果 A 的某个子数组中不同整数的个数恰好为 K,则称 A 的这个连续、不一定独立的子数组为好子数组。 思路 恰好包含K种不同整数的子区间 = 最多包含K种整数的子区间 - 最多包含K-1种整数的子区间 利用滑动窗口求最多 阅读全文
posted @ 2021-02-10 15:54 zzzzzy2k 阅读(99) 评论(0) 推荐(0) 编辑
摘要: 题目来源 978. 最长湍流子数组 方法一 滑动窗口,双指针 第一种情况和第二种情况分开讨论 当符合条件的时候,left不动,right加1; 不符合条件的时候,left等于right; 窗口长度为right-left+1; 长度为1的时候特判,返回1; 代码 class Solution { pu 阅读全文
posted @ 2021-02-09 22:35 zzzzzy2k 阅读(30) 评论(0) 推荐(0) 编辑