Skip to content

Commit f86004e

Browse files
Merge pull request #2833 from namewyf/master
开发商购买土地解法 JavaScript版本
2 parents 5f3d6be + a0690ff commit f86004e

File tree

1 file changed

+56
-0
lines changed

1 file changed

+56
-0
lines changed

problems/kamacoder/0044.开发商购买土地.md

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -388,6 +388,62 @@ if __name__ == "__main__":
388388
main()
389389

390390
```
391+
392+
### JavaScript
393+
394+
前缀和
395+
```js
396+
function func() {
397+
const readline = require('readline')
398+
const rl = readline.createInterface({
399+
input: process.stdin,
400+
output: process.stdout
401+
})
402+
let inputLines = []
403+
rl.on('line', function (line) {
404+
inputLines.push(line.trim())
405+
})
406+
407+
rl.on('close', function () {
408+
let [n, m] = inputLines[0].split(" ").map(Number)
409+
let c = new Array(n).fill(0)
410+
let r = new Array(m).fill(0)
411+
let arr = new Array(n)
412+
let sum = 0//数组总和
413+
let min = Infinity//设置最小值的初始值为无限大
414+
//定义数组
415+
for (let s = 0; s < n; s++) {
416+
arr[s] = inputLines[s + 1].split(" ").map(Number)
417+
}
418+
//每一行的和
419+
for (let i = 0; i < n; i++) {
420+
for (let j = 0; j < m; j++) {
421+
c[i] += arr[i][j]
422+
sum += arr[i][j]
423+
}
424+
}
425+
//每一列的和
426+
for (let i = 0; i < n; i++) {
427+
for (let j = 0; j < m; j++) {
428+
r[j] += arr[i][j]
429+
}
430+
}
431+
let sum1 = 0, sum2 = 0
432+
//横向切割
433+
for (let i = 0; i < n; i++) {
434+
sum1 += c[i]
435+
min = min < Math.abs(sum - 2 * sum1) ? min : Math.abs(sum - 2 * sum1)
436+
}
437+
//纵向切割
438+
for (let j = 0; j < m; j++) {
439+
sum2 += r[j]
440+
min = min < Math.abs(sum - 2 * sum2) ? min : Math.abs(sum - 2 * sum2)
441+
}
442+
console.log(min);
443+
})
444+
}
445+
```
446+
391447
### C
392448

393449
前缀和

0 commit comments

Comments
 (0)