首页
题库
面试
求职
学习
竞赛
More+
所有博客
搜索面经/职位/试题/公司
搜索
我要招人
去企业版
登录 / 注册
首页
>
试题广场
>
山峰数组计数
[编程题]山峰数组计数
热度指数:353
时间限制:C/C++ 1秒,其他语言2秒
空间限制:C/C++ 256M,其他语言512M
算法知识视频讲解
定义一个
山峰数组
为长度为
的数组
,满足
且
。
给定一个长度为
的正整数数组
,你需要选择两个下标
,并将
划分成三个非空连续子数组:
;
;
。
若三元组
构成一个山峰数组,则称二元组
可行
。请计算共有多少个不同的可行二元组
。
输入描述:
第一行输入一个整数
,表示数组
的长度。
第二行输入
个整数
,表示数组元素。
输出描述:
输出一个整数,表示可行二元组的数量。
示例1
输入
5 1 2 3 4 5
输出
2
马上挑战
算法知识视频讲解
提交运行
算法知识视频讲解
添加笔记
求解答(0)
邀请回答
收藏(7)
分享
纠错
提交结果有问题?
1个回答
4篇题解
开通博客
斩瑾
发表于 2024-06-16 19:08:22
一道前缀和的应用 最快得到一个区间的和就用前缀和,其中暴力两次循环可以得到符合题目性质的解的数量,但肯定会超时,这时就需要考虑能不能优化成n的规模解决问题,根据前缀和单调递增的性质可以发现随着遍历i的取值j一定只会往后增大这时只要当每一次循环时找到符合要求的j的位置,如果符合当前i的位置的性质要求答
展开全文
Silencer76
发表于 2025-08-13 16:51:03
题目链接 山峰数组计数 题目描述 定义一个山峰数组为一个长度为 3 的数组 ,满足 且 。 给定一个长度为 的正整数数组 。你需要选择两个下标 和 (),并将数组 划分成三个非空的连续子数组,其元素和分别为: 若三元组 构成一个山峰数组,则称二元组 是一个可行的二元组。请计算共
展开全文
丨阿伟丨
发表于 2025-09-01 11:20:44
题目链接 山峰数组计数 题目描述 给定一个长度为 的正整数数组 。你需要选择两个下标 (),并将 划分成三个非空连续子数组:,,。 若这三个子数组的和满足 且 ,则称二元组 可行。请计算共有多少个不同的可行二元组。 解题思路 这是一个计数问题。一个朴素的想法是遍历所有可能的 对,然后计算三
展开全文
牛客242693846号
发表于 2025-07-31 16:30:10
import bisect n = int(input()) nums = list(map(int, input().split())) # 构建前缀和 sum_nums = [0] for num in nums: sum_nums.append(sum_nums[-1] + num
展开全文
问题信息
来自:
华为机试编程模拟题2
难度:
1条回答
7收藏
216浏览
热门推荐
相关试题
查找兄弟单词
字符串
排序
评论
(1200)
来自
华为机试编程模拟题2
小苯的IDE括号问题(easy)
双指针
评论
(3)
来自
华为机试编程模拟题2
windows系统ctrl+z是撤...
Linux
评论
(1)
在用邻接表表示图时,拓扑排序算法时...
图
评论
(1)
山峰数组计数
扫描二维码,关注牛客网
意见反馈
下载牛客APP,随时随地刷题
5 1 2 3 4 5
2