File tree 2 files changed +23
-1
lines changed
2 files changed +23
-1
lines changed Original file line number Diff line number Diff line change @@ -374,7 +374,7 @@ If you would like to have collaborator permissions on the repo to merge your own
374
374
<sub >Problem</sub > | <sub >C</sub > | <sub >C++</sub > | <sub >C#</sub > | <sub >Dart</sub > | <sub >GO</sub > | <sub >Java</sub > | <sub >JS</sub > | <sub >Kotlin</sub > | <sub >Python</sub > | <sub >Ruby</sub > | <sub >Rust</sub > | <sub >Scala</sub > | <sub >Swift</sub > | <sub >TS</sub >
375
375
---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | ----
376
376
<sub>[0053 - Maximum Subarray](https://leetcode.com/problems/maximum-subarray/)</sub> | <sub><div align='center'>[✔️](c%2F0053-maximum-subarray.c)</div></sub> | <sub><div align='center'>[✔️](cpp%2F0053-maximum-subarray.cpp)</div></sub> | <sub><div align='center'>[✔️](csharp%2F0053-maximum-subarray.cs)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](go%2F0053-maximum-subarray.go)</div></sub> | <sub><div align='center'>[✔️](java%2F0053-maximum-subarray.java)</div></sub> | <sub><div align='center'>[✔️](javascript%2F0053-maximum-subarray.js)</div></sub> | <sub><div align='center'>[✔️](kotlin%2F0053-maximum-subarray.kt)</div></sub> | <sub><div align='center'>[✔️](python%2F0053-maximum-subarray.py)</div></sub> | <sub><div align='center'>[✔️](ruby%2F0053-maximum-subarray.rb)</div></sub> | <sub><div align='center'>[✔️](rust%2F0053-maximum-subarray.rs)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](swift%2F0053-maximum-subarray.swift)</div></sub> | <sub><div align='center'>[✔️](typescript%2F0053-maximum-subarray.ts)</div></sub>
377
- <sub >[ 0918 - Maximum Sum Circular Subarray] ( https://leetcode.com/problems/maximum-sum-circular-subarray/ ) </sub > | <sub ><div align =' center ' >❌</div ></sub > | <sub ><div align =' center ' >❌</div ></sub > | <sub ><div align =' center ' >❌</div ></sub > | <sub ><div align =' center ' >❌</div ></sub > | <sub ><div align =' center ' >[ ✔️] ( go%2F0918-maximum-sum-circular-subarray.go ) </div ></sub > | <sub ><div align =' center ' >❌</div ></sub > | <sub ><div align =' center ' >[ ✔️] ( javascript%2F0918-maximum-sum-circular-subarray.js ) </div ></sub > | <sub ><div align =' center ' >❌ </div ></sub > | <sub ><div align =' center ' >[ ✔️] ( python%2F0918-maximum-sum-circular-subarray.py ) </div ></sub > | <sub ><div align =' center ' >❌</div ></sub > | <sub ><div align =' center ' >[ ✔️] ( rust%2F0918-maximum-sum-circular-subarray.rs ) </div ></sub > | <sub ><div align =' center ' >❌</div ></sub > | <sub ><div align =' center ' >❌</div ></sub > | <sub ><div align =' center ' >[ ✔️] ( typescript%2F0918-maximum-sum-circular-subarray.ts ) </div ></sub >
377
+ <sub>[0918 - Maximum Sum Circular Subarray](https://leetcode.com/problems/maximum-sum-circular-subarray/)</sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](go%2F0918-maximum-sum-circular-subarray.go)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](javascript%2F0918-maximum-sum-circular-subarray.js)</div></sub> | <sub><div align='center'>[✔️](kotlin%2F0918-maximum-sum-circular-subarray.kt) </div></sub> | <sub><div align='center'>[✔️](python%2F0918-maximum-sum-circular-subarray.py)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](rust%2F0918-maximum-sum-circular-subarray.rs)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](typescript%2F0918-maximum-sum-circular-subarray.ts)</div></sub>
378
378
<sub>[0055 - Jump Game](https://leetcode.com/problems/jump-game/)</sub> | <sub><div align='center'>[✔️](c%2F0055-jump-game.c)</div></sub> | <sub><div align='center'>[✔️](cpp%2F0055-jump-game.cpp)</div></sub> | <sub><div align='center'>[✔️](csharp%2F0055-jump-game.cs)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](go%2F0055-jump-game.go)</div></sub> | <sub><div align='center'>[✔️](java%2F0055-jump-game.java)</div></sub> | <sub><div align='center'>[✔️](javascript%2F0055-jump-game.js)</div></sub> | <sub><div align='center'>[✔️](kotlin%2F0055-jump-game.kt)</div></sub> | <sub><div align='center'>[✔️](python%2F0055-jump-game.py)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](rust%2F0055-jump-game.rs)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](swift%2F0055-jump-game.swift)</div></sub> | <sub><div align='center'>[✔️](typescript%2F0055-jump-game.ts)</div></sub>
379
379
<sub>[0045 - Jump Game II](https://leetcode.com/problems/jump-game-ii/)</sub> | <sub><div align='center'>[✔️](c%2F0045-jump-game-ii.c)</div></sub> | <sub><div align='center'>[✔️](cpp%2F0045-jump-game-ii.cpp)</div></sub> | <sub><div align='center'>[✔️](csharp%2F0045-jump-game-ii.cs)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](go%2F0045-jump-game-ii.go)</div></sub> | <sub><div align='center'>[✔️](java%2F0045-jump-game-ii.java)</div></sub> | <sub><div align='center'>[✔️](javascript%2F0045-jump-game-ii.js)</div></sub> | <sub><div align='center'>[✔️](kotlin%2F0045-jump-game-ii.kt)</div></sub> | <sub><div align='center'>[✔️](python%2F0045-jump-game-ii.py)</div></sub> | <sub><div align='center'>[✔️](ruby%2F0045-jump-game-ii.rb)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](swift%2F0045-jump-game-ii.swift)</div></sub> | <sub><div align='center'>[✔️](typescript%2F0045-jump-game-ii.ts)</div></sub>
380
380
<sub >[ 1871 - Jump Game VII] ( https://leetcode.com/problems/jump-game-vii/ ) </sub > | <sub ><div align =' center ' >❌</div ></sub > | <sub ><div align =' center ' >❌</div ></sub > | <sub ><div align =' center ' >❌</div ></sub > | <sub ><div align =' center ' >❌</div ></sub > | <sub ><div align =' center ' >❌</div ></sub > | <sub ><div align =' center ' >❌</div ></sub > | <sub ><div align =' center ' >❌</div ></sub > | <sub ><div align =' center ' >❌</div ></sub > | <sub ><div align =' center ' >❌</div ></sub > | <sub ><div align =' center ' >❌</div ></sub > | <sub ><div align =' center ' >❌</div ></sub > | <sub ><div align =' center ' >❌</div ></sub > | <sub ><div align =' center ' >❌</div ></sub > | <sub ><div align =' center ' >❌</div ></sub >
Original file line number Diff line number Diff line change
1
+ class Solution {
2
+ fun maxSubarraySumCircular (nums : IntArray ): Int {
3
+ if (nums.size == 1 ) return nums[0 ]
4
+ // max sum
5
+ var totalSum = nums[0 ]
6
+ var maxSum = nums[0 ]
7
+ var currentMaxSum = nums[0 ]
8
+ // minSum
9
+ var minSum = nums[0 ]
10
+ var currentMinSum = nums[0 ]
11
+ for (i in 1 .. nums.lastIndex) {
12
+ // max sum computation
13
+ currentMaxSum = maxOf(nums[i], currentMaxSum + nums[i])
14
+ maxSum = maxOf(maxSum, currentMaxSum)
15
+ // minSum computation
16
+ currentMinSum = minOf(nums[i], currentMinSum + nums[i])
17
+ minSum = minOf(minSum, currentMinSum)
18
+ totalSum + = nums[i]
19
+ }
20
+ return if (minSum != totalSum) maxOf((totalSum - minSum), maxSum) else maxSum
21
+ }
22
+ }
You can’t perform that action at this time.
0 commit comments