小美拿到了一个由正整数组成的数组,但其中有一些元素是未知的(用 0 来表示)。 现在小美想知道,如果那些未知的元素在区间范围内随机取值的话,数组所有元素之和的最小值和最大值分别是多少? 共有次询问。

区块链毕设网qklbishe.com为您提供问题的解答

小美拿到了一个由正整数组成的数组,但其中有一些元素是未知的(用 0 来表示)。
现在小美想知道,如果那些未知的元素在区间小美拿到了一个由正整数组成的数组,但其中有一些元素是未知的(用 0 来表示)。   现在小美想知道,如果那些未知的元素在区间范围内随机取值的话,数组所有元素之和的最小值和最大值分别是多少?   共有次询问。范围内随机取值的话,数组所有元素之和的最小值和最大值分别是多少?
共有小美拿到了一个由正整数组成的数组,但其中有一些元素是未知的(用 0 来表示)。   现在小美想知道,如果那些未知的元素在区间范围内随机取值的话,数组所有元素之和的最小值和最大值分别是多少?   共有次询问。次询问。

计算数组和可能的最小值,除了 0,不确定的部分之外的和我们可以通过遍历求出,用sum表示;
此外我们用zeroCnt表示值不定的 0 的个数。
给出 和最小值 & 和最大值 计算公式
MinSum = sum + zeroCnt * l
MaxSum = sum + zeroCnt * r
时间复杂度O(n + q),n为数组长度,q为查询次数
空间复杂度O(1)

参考代码:

const rl = require("readline").createInterface({ input: process.stdin }); var iter = rl[Symbol.asyncIterator](); const readline = async () => (await iter.next()).value; void async function () {     // Write your code here     let n, q;     let nums;     const query = [];     while(line = await readline()){         let tokens = line.split(' ');         if (!n) {             n = parseInt(tokens[0]);             q = parseInt(tokens[1]);         } else if (!nums) {             nums = tokens.map((ch)=>parseInt(ch));         } else {             query.push(tokens.map((ch)=>parseInt(ch)));         }     }     // console.log(n, q, nums);     // console.log(query);     // 先求和,同时算下0个数     let zeroCnt = 0;     let sum = 0;     nums.forEach((v)=>{         if (v === 0){             zeroCnt++;         } else {             sum += v;         }     });     query.forEach(([min, max]) => {         const minSum = sum + zeroCnt * min;         const maxSum = sum + zeroCnt * max;         console.log(minSum, maxSum);     }); }()

编辑于 今天 11:25:03

以上就是关于问题小美拿到了一个由正整数组成的数组,但其中有一些元素是未知的(用 0 来表示)。
现在小美想知道,如果那些未知的元素在区间范围内随机取值的话,数组所有元素之和的最小值和最大值分别是多少?
共有次询问。的答案

欢迎关注区块链毕设网-
专业区块链毕业设计成品源码,定制。

区块链NFT链游项目方科学家脚本开发培训

从业7年-专注一级市场


微信:btc9767
TELEGRAM :https://t.me/btcok9

具体资料介绍

web3的一级市场千万收益的逻辑


进群点我



qklbishe.com区块链毕设代做网专注|以太坊fabric-计算机|java|毕业设计|代做平台-javagopython毕设 » 小美拿到了一个由正整数组成的数组,但其中有一些元素是未知的(用 0 来表示)。 现在小美想知道,如果那些未知的元素在区间范围内随机取值的话,数组所有元素之和的最小值和最大值分别是多少? 共有次询问。