题目:小A认为如果在数组中有一个数出现了至少k次且这个数是该数组的众数,即出现次数最多的数之一那么这个数组被该数所支配显然当k比较大的时候,有些数组不被任何数所支配现在小A拥有一个长度为n的数组她想知道内部有多少个区间是被某个数支配的2 <= k <= n <= 1000001 <= 数组的值 <= n思路:遍历子数组,统计每个数出现的次数,只要有一个数出现至少k次,则认为当前子数组被某个数支配。这种连续的子数组遍历问题,可以用滑动窗口,因为滑动窗口遍历连续的子数组时间复杂度为O(n)。滑动窗口,当窗口内的数组被窗口内的最后一个数支配(之前位置的数都不支配该数组),那么之后的子数组都被某个数支配。此时移动窗口左边界,如果窗口右边界的数支配数组,则窗口内的数组,及窗口右侧的数组也都被某个数支配。即移动窗口,当窗口内的数组被某个数支配,则窗口右边的子数组都被支配。代码:int subArrayByMode(vector<int> & arr, int k) { int n = (int)arr.size(); int rig