795. 区间子数组个数
admin
2024-02-11 09:48:06
0

目录

  • 题目
  • 分析
    • 代码
  • 暴力

题目

给你一个整数数组 nums 和两个整数:leftright 。找出 nums 中连续、非空且其中最大元素在范围 [left, right] 内的子数组,并返回满足条件的子数组的个数。

生成的测试用例保证结果符合 32-bit 整数范围。

 

示例 1:

输入:nums = [2,1,4,3], left = 2, right = 3
输出:3
解释:满足条件的三个子数组:[2], [2, 1], [3]

示例 2:

输入:nums = [2,9,2,5,6], left = 2, right = 8
输出:7

 

提示:

  • 1 <= nums.length <= 105
  • 0 <= nums[i] <= 109
  • 0 <= left <= right <= 109

分析

关键词子数组,看到这个可以想到二层循环暴力,最坏的情况要计算10^10次,必定超时,这里说一个子数组的性质。

在没有条件的限制下,一个长度为N数组的子数组数量是 1 + 2 + … + N,也就是说一次循环就可以统计所有的子数组,比如:长度为4的数组,子数组的数量应该是10,既1 + 2 + 3 + 4 = 10,代表着当前下标(ci)到下标0之间子数组元素的数量。

根据题意,子数组内的最大值必须在[left, right]之内,既left <= max(子数组) <= right,利用上面子数组的性质进行结合:
核心思路我们就只要确定两个坐标,i0和i1,然后有i0 - i1,i0就是子数组元素最大值在[left, right]范围内的下标,i1其实就是最后一个最大值大于right的下标。i0 - i1就是我们上面说的性质

代码

class Solution {public int numSubarrayBoundedMax(int[] nums, int left, int right) {int ans = 0, i0 = 0, i1 = -1;int N = nums.length;boolean flat = false;for (int i = 0; i < N; ++i) {if (nums[i] >= left && nums[i] <= right) {i0 = i;flat = true;} if (nums[i] > right) {i1 = i;flat = false;}if (flat) {ans += i0 - i1;}}return ans;}
}

暴力

class Solution {public int numSubarrayBoundedMax(int[] nums, int left, int right) {int ans = 0;for (int i = 0; i < nums.length; ++i) {int max = -1;for (int j = i; j < nums.length; ++j) {if (nums[j] > max) max = nums[j];if (max <= right && max >= left) ans++;}}return ans;}
}

相关内容

热门资讯

荠菜是营养丰富的野菜 荠菜,又叫地地菜、芨菜、香善菜等。它含有丰富的营养。据化学分析:每公斤荠菜中约含蛋白质42.4克,糖...
原创 章... 2026年年初,互联网行业发生了两件很有意思的事。 一件是章泽天做了档播客,取名“小天章”。第一期视...
餐谋长 | 一个饮食习惯悄悄增... “全家围坐共餐”是多数家庭的生活常态,不少人将其视为团圆的象征,却忽视了不分餐、共用餐具带来的健康隐...
原创 朋... 在晨曦初破的宁静中,我们迎来了新的一天。如同诗人般,我愿以文字为笔,绘出一幅幅清晨正能量的经典画面。...
爱芯元智通过港交所聆讯 有望成... 本报讯 (记者梁傲男)1月25日,中国边缘AI芯片领军企业爱芯元智半导体股份有限公司(以下简称“爱芯...
002155,披露重大资产重组... 湖南黄金拟收购黄金天岳100%股权及中南冶炼100%股权,进一步完善产业布局。 同时,公司拟向不超过...
德力佳拟50亿元投建10兆瓦以... 【大河财立方消息】1月25日,德力佳传动科技(江苏)股份有限公司(简称德力佳)公告称,公司与无锡宛山...
特朗普的“中选经济强心针”:超... 美国消费者即将迎来一场规模空前的“现金雨”。 据追风交易台,根据摩根士丹利1月23日发布的最新研报,...
2025年IPO数据报告-投中... 2025 年中国企业 IPO 市场呈现止跌回升态势,全球范围内 294 家中国企业成功上市,IPO ...
山西银行锚定未来战略定位和经营... 文 | 中国金融网(CFN) 黄瑾 2026年1月下旬,山西银行密集召开2026年度工作会议、202...
思林杰并购告吹背后:对价砍了又... 深圳商报·读创客户端记者 梁佳彤 1月25日,思林杰(688115)发布公告称,公司分别召开第二届...
原创 昨... 特朗普批评加拿大被中国“吞食”,称关税将征收100%并嘲讽其“州长”,暴露霸权主义虚伪。 昨晚,特...
威尔鑫点金·׀ 美元因烽火戏诸... 美元因烽火戏诸侯遭遇重锤 金银再续强势逼空 2026年01月25日 威尔鑫投资咨询研究中心 (文...
钻石的眼泪,白银的沉默:当克拉... 钻戒的浪漫,是一场昂贵的误会? 那颗闪闪发光的石头,承载了多少海誓山盟。你以为买下的是一份永恒,一份...
贾国龙最新发声!“将回归一线,... 据媒体报道,西贝餐饮集团创始人贾国龙近日接受专访时表示,将回归一线、聚焦主业,不再打造个人IP。 贾...
阿里“平头哥”上市猜想引关注背... 上海浦东新区张江人工智能产业园内,一座灰橙交融的建筑静静矗立,平头哥半导体有限公司(以下简称平头哥)...
利好!千亿龙头完成金矿收购! 本报记者 肖艳青 1月25日晚间,洛阳栾川钼业集团股份有限公司(以下简称“洛阳钼业”)公告称,公司于...
原创 短... 刘阿姨大约从一年前开始断断续续出现腹痛、便秘症状,开始她没有当回事,觉得是胃肠道功能不好导致的,饮食...
旷达科技集团股份有限公司 第七... 证券代码:002516 证券简称:旷达科技 公告编号:2026-009 旷达科技集团股份有限公司 第...
原创 申... 离婚十三年,申通快递实控人被前夫追索分割财产。 作者 | 于婞 编辑丨高岩 来源 | 野马财经 19...