当前位置: 首页> 科技> IT业 > html背景颜色代码_深圳建设集团股份有限公司_网站建设需要多少钱?_合肥seo排名扣费

html背景颜色代码_深圳建设集团股份有限公司_网站建设需要多少钱?_合肥seo排名扣费

时间:2025/7/12 3:08:00来源:https://blog.csdn.net/2401_88859777/article/details/147526084 浏览次数:0次
html背景颜色代码_深圳建设集团股份有限公司_网站建设需要多少钱?_合肥seo排名扣费

问题背景

给你一个整数数组 n u m s nums nums 和两个整数 m i n K minK minK 以及 m a x K maxK maxK
n u m s nums nums的定界子数组是满足下述条件的一个子数组:

  • 子数组中的 最小值 等于 m i n K minK minK
  • 子数组中的 最大值 等于 m a x K maxK maxK

返回定界子数组的数目。
子数组是数组中的一个连续部分。

数据约束

  • 2 ≤ n u m s . l e n g t h ≤ 1 0 5 2 \le nums.length \le 10 ^ 5 2nums.length105
  • 1 ≤ n u m s [ i ] , m i n K , m a x K ≤ 1 0 6 1 \le nums[i], minK, maxK \le 10 ^ 6 1nums[i],minK,maxK106

解题过程

确定了左右端点,就可以唯一确定一个子数组。
这题中符合条件的子数组数量,是根据待查找的 m i n K minK minK m a x K maxK maxK 位置变化而变化的。
枚举数组的右端点,找到 m i n K minK minK m a x K maxK maxK,这时上一个符合条件的位置到越界位置之间的所有元素,都可以作为数组的左端点,这样就能计算出子数组的数量了。
需要注意的是, 0 0 0 是合法位置的下标,初始状态要赋值为 − 1 -1 1

具体实现

class Solution {public long countSubarrays(int[] nums, int minK, int maxK) {long res = 0;int minIndex = -1, maxIndex = -1, rangeIndex = -1;for (int i = 0; i < nums.length; i++) {int cur = nums[i];if (cur == minK) {minIndex = i;}if (cur == maxK) {maxIndex = i;}if (cur < minK || cur > maxK) {rangeIndex = i;}res += Math.max(Math.min(minIndex, maxIndex) - rangeIndex, 0);}return res;}
}
关键字:html背景颜色代码_深圳建设集团股份有限公司_网站建设需要多少钱?_合肥seo排名扣费

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: