-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcode.py
More file actions
32 lines (24 loc) · 678 Bytes
/
code.py
File metadata and controls
32 lines (24 loc) · 678 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
class Solution:
def getNumGroups(self, nums: List[int], m: int) -> int:
curK = 0
rSum = 0
for num in nums :
if num > m :
return float('inf')
elif (rSum + num) > m :
curK += 1
rSum = num
else :
rSum += num
return curK+1
def splitArray(self, nums: List[int], k: int) -> int:
l = 0
r = sum(nums)
while l < r :
m = l + (r-l)//2
curK = self.getNumGroups(nums, m)
if curK > k :
l = m+1
else :
r = m
return l