mirror of
https://github.com/youngyangyang04/leetcode-master.git
synced 2025-07-06 23:28:29 +08:00
Merge pull request #2716 from catherinexrk/master
添加0058 区间和 JavaScript版本
This commit is contained in:
@ -263,6 +263,57 @@ if __name__ == "__main__":
|
|||||||
main()
|
main()
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
|
### JavaScript
|
||||||
|
|
||||||
|
``` JavaScript
|
||||||
|
|
||||||
|
function prefixSum() {
|
||||||
|
const readline = require('readline');
|
||||||
|
|
||||||
|
const rl = readline.createInterface({
|
||||||
|
input: process.stdin,
|
||||||
|
output: process.stdout
|
||||||
|
});
|
||||||
|
|
||||||
|
let inputLines = [];
|
||||||
|
rl.on('line', (line) => {
|
||||||
|
inputLines.push(line.trim());
|
||||||
|
});
|
||||||
|
|
||||||
|
rl.on('close', () => {
|
||||||
|
// 读取项数 n
|
||||||
|
const n = parseInt(inputLines[0]);
|
||||||
|
|
||||||
|
// 使用前缀和,复杂度控制在 O(1)
|
||||||
|
let sum = new Array(n);
|
||||||
|
sum[0] = parseInt(inputLines[1]);
|
||||||
|
|
||||||
|
// 计算前缀和数组
|
||||||
|
for (let i = 1; i < n; i++) {
|
||||||
|
let value = parseInt(inputLines[i + 1]);
|
||||||
|
sum[i] = sum[i - 1] + value;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 处理区间和查询
|
||||||
|
for (let i = n + 1; i < inputLines.length; i++) {
|
||||||
|
let [left, right] = inputLines[i].split(' ').map(Number);
|
||||||
|
|
||||||
|
if (left === 0) {
|
||||||
|
console.log(sum[right]);
|
||||||
|
} else {
|
||||||
|
console.log(sum[right] - sum[left - 1]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
### C
|
### C
|
||||||
|
|
||||||
```C
|
```C
|
||||||
@ -305,3 +356,4 @@ int main(int argc, char *argv[])
|
|||||||
}
|
}
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user