【LeetCode】Day189-区间子数组个数
创始人
2024-02-12 01:44:12
0

题目

795. 区间子数组个数【中等】

题解

注意题目中说的是 子数组的最大值在 [left,right] 区间就行,翻译一下就是子数组中不能有超过right的元素,且至少有一个元素在 [left,right] 区间内

一次遍历

维护两个变量
last1:目标区间元素最后一次出现的位置
last2:非目标区间元素最后一次出现的位置
如果last1存在,则结果+=last1-last2

class Solution {public int numSubarrayBoundedMax(int[] nums, int left, int right) {int n=nums.length,res=0,last1=-1,last2=-1;for(int i=0;iif(nums[i]>=left&&nums[i]<=right)last1=i;//目标区间元素最后一次出现的位置else if(nums[i]>right){last2=i;//非目标区间元素最后一次出现的位置last1=-1;//标记此轮跳过res更新}if(last1!=-1)res+=last1-last2;}return res;}
}

时间复杂度:O(n)O(n)O(n)

空间复杂度:O(1)O(1)O(1)

计数

[…,right]-[…,left-1],两个区间元素个数相减,得到[left,right]区间的元素个数

class Solution {public int numSubarrayBoundedMax(int[] nums, int left, int right) {return count(nums,right)-count(nums,left-1);}public int count(int[] nums,int lower){int cur=0,res=0;for(int x:nums){cur=x<=lower?cur+1:0;//i左侧有多少个连续的元素<=lowerres+=cur;}return res;}
}

时间复杂度:O(n)O(n)O(n)

空间复杂度:O(1)O(1)O(1)

相关内容

热门资讯

有没有什么歌曲和连莲花那种曲调... 有没有什么歌曲和连莲花那种曲调相似的,那种感觉就好像很空幻,和梦中一样。 还有那种音。我老爸开车时喜...
买吸尘器的话,莱克和戴森哪个性... 买吸尘器的话,莱克和戴森哪个性价比更高?我认为莱克吸尘器的性价比更高,因为它更好用,设计的更合理,使...
诗名里带蜀字的诗词有哪些 诗名里带蜀字的诗词有哪些蜀道难(4首)•  《蜀道难》-  阴铿  -  南北朝•  《蜀道难·其二...
降龙大师猎龙队大结局 降龙大师猎龙队大结局 十王爷已经动了杀心,如果她只顾自己,那么姐姐、李修源都活不了。所以,小黑龙这是...
13路末班车小说到底谁是鬼 13路末班车小说到底谁是鬼 我觉得刘叔就是鬼,一心查案子,执念太深了,所以我老觉得他就是鬼。
兩只鳥的童話故事。 兩只鳥的童話故事。从前有两只长得一模一样的鸟,一只是笼中鸟,一只是自由职业者。笼中鸟被鸟主人悉心照料...
古代故事大王是谁? 古代故事大王是谁?古代故事大王:庄子是一个名副其实的“故事大王”,他笔下的井底蛙、土拨鼠、多脚虫、尥...
宝马车子怠速时曲轴后面发出尖叫... 宝马车子怠速时曲轴后面发出尖叫声,是什么问题您好,你说的是n55或者n54发动机吧,这是废气阀堵了废...
亚马逊100万机器人上岗!即将...   炒股就看金麒麟分析师研报,权威,专业,及时,全面,助您挖掘潜力主题机会! 新智元报道编辑:英智...
陆湛江倪妍是哪部小说 陆湛江倪妍是哪部小说陆湛江倪妍是哪部小说《烟火》作者:绿枢男主是陆湛江女主是聂初语,倪妍其实只是配角