美文网首页
795. 区间子数组个数

795. 区间子数组个数

作者: 程序员小2 | 来源:发表于2022-11-23 09:30 被阅读0次

题目:

给你一个整数数组 nums 和两个整数:left 及 right 。找出 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 <= 10^5
0 <= nums[i] <= 10^9
0 <= left <= right <= 10^9

java代码:

class Solution {
    public int numSubarrayBoundedMax(int[] nums, int left, int right) {
        int res = 0;
        int last1 = -1;
        int last2 = -1;
        for (int i = 0; i < nums.length; i++) {
            if (nums[i] >= left && nums[i] <= right) {
                last1 = i;
            } else if (nums[i] > right) {
                last2 = i;
                last1 = -1;
            }

            if (last1 != -1) {
                res += last1 - last2;
            }
        }

        return res;
    }
}

相关文章

  • 795. 区间子数组个数

    题目: 给你一个整数数组 nums 和两个整数:left 及 right 。找出 nums 中连续、非空且其中最大...

  • 795. 区间子数组的个数(Python)

    难度:★★★☆☆类型:数组方法:逻辑 力扣链接请移步本题传送门[https://leetcode-cn.com/p...

  • 最小区间问题

    题目描述:k个有序的数组,找到最小的区间范围使得这k个数组中,每个数组至少有一个数字在这个区间范围内。比如: 数组...

  • 力扣 239 滑动窗口最大值

    题意:给定一个数组和一个区间,在数组上,从头开始移动区间,返回移动过程中区间的最大值 思路:遍历数组,用双向队列来...

  • 桶排序

    有n个数,在区间1-m,初始化一个数组,大小为m,记为array[m]。把n个数逐个放入数组,下标与之对应,arr...

  • 树状数组与离散化

    用途 树状数组主要用来求解前缀和、区间和、逆序对、区间和的个数和相关求个数的问题等等问题,最重要的是要考虑怎么将题...

  • js实现二维数组中找出最大的一个,并返回数组

    现在给你一个数组,这个数组中包含了数字的子数组。 请编写程序,从数组的每一个子数组中返回其最大的那个数。目标数...

  • Leetcode.56.Merge Intervals

    题目 给定一个二维数组, 数组里面包含的子数组都是一个闭区间, 合并这些区间. 思路 先排序, 然后依次合并. 关...

  • 今日头条 2018 AI Camp 6 月 2 日在线笔试编程题

    题目 给出一个长度为 n 的数组,请找出在所有连续区间 中,区间和最大同时这个区间 0 的个数小于等于 3 个,输...

  • 1.2 数组连续递增区间

    记某面试题目:输入为正整数数组,找出排好序的数组的所有连续区间, 如果该连续空间只有一个数字,将该数字放入一个数组...

网友评论

      本文标题:795. 区间子数组个数

      本文链接:https://www.haomeiwen.com/subject/zwczxdtx.html