File tree Expand file tree Collapse file tree 1 file changed +56
-0
lines changed Expand file tree Collapse file tree 1 file changed +56
-0
lines changed Original file line number Diff line number Diff 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前缀和
You can’t perform that action at this time.
0 commit comments