首页 > 试题广场 >

最大值减去最小值小于或等于num的子数组数量

[编程题]最大值减去最小值小于或等于num的子数组数量
  • 热度指数:4679 时间限制:C/C++ 2秒,其他语言4秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
给定数组 arr 和整数 num,共返回有多少个子数组满足如下情况:
max(arr[i...j]) - min(arr[i...j]) <= num
max(arr[i...j])表示子数组arr[i...j]中的最大值,min[arr[i...j])表示子数组arr[i...j]中的最小值。


输入描述:
第一行输入两个数 n 和 num,其中 n 表示数组 arr 的长度
第二行输入n个整数X_i,表示数组arr中的每个元素


输出描述:
输出给定数组中满足条件的子数组个数
示例1

输入

5 2 
1 2 3 4 5

输出

12

备注:


头像 快支棱起来的椰子很愤怒
发表于 2022-01-10 18:20:49
n, num = map(int, input().split()) nums = list(map(int, input().split())) import collections q_max = collections.deque() q_min = collections.deque() i 展开全文
头像 牛客645685286号
发表于 2022-02-21 20:11:45
#include<stdio.h> #include<stdlib.h> #include<deque> #include<math.h> using namespace std; struct mypair{     int v 展开全文
头像 江河击水三千里
发表于 2023-12-21 23:27:55
import java.util.Scanner; import java.util.LinkedList; import java.util.Scanner; public class Main { public static void main(String[] args) { 展开全文
头像 罗毅lala
发表于 2020-03-16 17:33:26
#include<deque> #include<algorithm> #include<vector> #include<iostream> using namespace std; int main() { int n, num; 展开全文