바위의 전체 용량을 가진 최대 가방
n
에서 0
까지 번호가 매겨진 n - 1
가방이 있습니다. 인덱스가 0인 정수 배열 capacity
및 rocks
두 개가 제공됩니다. ith
가방은 최대 capacity[i]
개의 돌을 담을 수 있으며 현재 rocks[i]
개의 돌을 담고 있습니다. 가방에 넣을 수 있는 추가 돌의 수인 정수additionalRocks
도 제공됩니다.일부 가방에 추가 돌을 넣은 후 전체 용량을 가질 수 있는 최대 가방 수를 반환합니다.
예 1:
입력: 용량 = [2,3,4,5], 바위 = [1,2,4,4], 추가 바위 = 2
출력: 3
설명:
가방 0에 돌 1개를 넣고 가방 1에 돌 1개를 넣습니다.
이제 각 가방에 있는 돌의 수는 [2,3,4,4]입니다.
백 0, 1, 2의 용량이 가득 찼습니다.
가득 찬 가방이 3개 있으므로 3개를 반환합니다.
3개 이상의 가방을 가득 채울 수 없다는 것을 알 수 있습니다.
답이 3인 돌을 배치하는 다른 방법이 있을 수 있습니다.
예 2:
입력: 용량 = [10,2,2], 바위 = [2,2,0], 추가 바위 = 100
출력: 3
설명:
가방 0에 돌 8개, 가방 2에 돌 2개를 넣습니다.
이제 각 가방에 있는 돌의 수는 [10,2,2]입니다.
백 0, 1, 2의 용량이 가득 찼습니다.
가득 찬 가방이 3개 있으므로 3개를 반환합니다.
3개 이상의 가방을 가득 채울 수 없다는 것을 알 수 있습니다.
모든 추가 암석을 사용하지 않았다는 점에 유의하십시오.
제약:
n == capacity.length == rocks.length
1 <= n <= 5 * 104
1 <= capacity[i] <= 109
0 <= rocks[i] <= capacity[i]
1 <= additionalRocks <= 109
해결책:
class Solution:
def maximumBags(self, capacity: List[int], rocks: List[int], additionalRocks: int) -> int:
n = len(capacity)
diff = [capacity[i] - rocks[i] for i in range(n)]
diff.sort()
print(diff)
i = 0
while additionalRocks > 0 and i < n:
additionalRocks -= diff[i]
i += 1
if additionalRocks < 0:
return i - 1
return i
Reference
이 문제에 관하여(바위의 전체 용량을 가진 최대 가방), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/theabbie/maximum-bags-with-full-capacity-of-rocks-2ck0텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)