题目
给定一个正整数数组 A,如果 A 的某个子数组中不同整数的个数恰好为 K,则称 A 的这个连续、不一定独立的子数组为好子数组。...(例如,[1,2,3,1,2] 中有 3 个不同的整数:1,2,以及 3。)
返回 A 中好子数组的数目。...示例 1:
输入:A = [1,2,1,2,3], K = 2
输出:7
解释:恰好由 2 个不同整数组成的子数组:
[1,2], [2,1], [1,2], [2,3], [1,2,1], [2,1,2...示例 2:
输入:A = [1,2,1,3,4], K = 3
输出:3
解释:恰好由 3 个不同整数组成的子数组:
[1,2,1,3], [2,1,3], [1,3,4]....解题
参考官方思路
每次遍历一个右端点 r,以该右端点为结束的满足题意的子数组有多少个
左端点有两个极限位置 l1, l2,[l1, r]刚好有 k 个不同数字,[l2, r] 刚好有 k-1 个不同数字