330. Patching Array

  Please login first. My Submissions
Total Accepted: 8159 Total Submissions: 28189 Difficulty: Medium

Given a sorted positive integer array nums and an integer n, add/patch elements to the array such that any number in range [1, n] inclusive can be formed by the sum of some elements in the array. Return the minimum number of patches required.

Example 1:
nums = [1, 3], n = 6
Return 1.

Combinations of nums are [1], [3], [1,3], which form possible sums of: 1, 3, 4.
Now if we add/patch 2 to nums, the combinations are: [1], [2], [3], [1,3], [2,3], [1,2,3].
Possible sums are 1, 2, 3, 4, 5, 6, which now covers the range [1, 6].
So we only need 1 patch.

Example 2:
nums = [1, 5, 10], n = 20
Return 2.
The two patches can be [2, 4].

Example 3:
nums = [1, 2, 2], n = 5
Return 0.

Credits:
Special thanks to @dietpepsi for adding this problem and creating all test cases.

Subscribe to see which companies asked this question

Show Tags
Greedy
Have you met this question in a real interview?
Yes
No
When did you meet this question?
last week
last month
last 3 month
last 6 month
more than 6 months
other
Which company asked you this question?
Adobe
Airbnb
Alation
Alibaba
Amazon
Apple
Arista
Baidu
Blend Labs
Blizzard
Bloomberg
Box
Bungie
Cisco
Conviva
Coursera
CreditEase
Deutsche Bank
Dropbox
eBay
Electronic Arts
EMC
Epic Systems
Expedia
Facebook
Flipkart
Fortinet
FreeWheel
Goldman Sachs
Google
GrabTaxi
Groupon
Hedvig
Hulu
Intel
Jane Street
JPMorgan
Jump Trading
Lending Club
LinkedIn
LiveRamp
Marvel
Matlab
McKesson
Microsoft
Morgan Stanley
Nvidia
Oracle
Orbitz
Palantir
Paypal
Pinterest
Pocket Gems
Qualtrics
Qumulo
Quora
Rackspace
Salesforce
Sina
Snapchat
Square
Sumologic
Symantec
Tencent
TinyCo
Tradeshift
TripAdvisor
Twitter
Two Sigma
Uber
VMware
Walmart
Yahoo
Yandex
Yelp
Zenefits
Zynga

Discuss


Send Feedback