题解 | #天使果冻# js 版

天使果冻

https://ac.nowcoder.com/acm/problem/219641

核心是用一个数组维护前缀和

let len = parseInt(readline());
let arr = readline().split(" ").map(Number);
let questionCount = parseInt(readline());
let questionArr = [];
for (let i = 0; i < questionCount; i++) {
    questionArr.push(parseInt(readline()));
}

// 预处理
let max1 = -Infinity, max2 = -Infinity;
let prefixMax2 = new Array(len);

for (let i = 0; i < len; i++) {
    if (arr[i] >= max1) {
        max2 = max1;
        max1 = arr[i];
    } else if (arr[i] > max2) {
        max2 = arr[i];
    }
    prefixMax2[i] = max2;
}

// 查询
questionArr.forEach((item) => {
    if (item < 2) {
        console.log("-1"); // 长度小于 2 时,无第二大值
    } else {
        console.log(prefixMax2[item - 1].toString());
    }
});
全部评论

相关推荐

自学java狠狠赚一...:骗你点star的,港卵公司,记得把star收回去
点赞 评论 收藏
分享
Vincent777...:实习经历可以考虑放上去,对于软件使用方面可以细化一些,比如调整为:熟悉基于LSDYNA的瞬态动力学仿真分析,熟悉基于WORKBENCH的结构拓扑优化
我的简历长这样
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务