Talentd Logo
Talentd#1 Freshers Platform
Jobs
Learning
Career Tools
Talentd Logo
Talentd#1 Freshers Platform
Jobs
Learning
Career Tools
Talentd Logo
Talentd#1 Freshers Platform
Jobs
Learning
Career Tools
Talentd Logo
Talentd#1 Freshers Platform
Jobs
Learning
Career Tools
Talentd Logo
Talentd#1 Freshers Platform
Home
Talentd Logo
Talentd

Your trusted platform to ace any job interviews, craft the perfect resumes, and land your dream jobs.

P
Featured on
Product Hunt
â–²455
All services are online

Products

  • Resume Review
  • Company Prep Pack
  • DSA Corner
  • Jobs
  • Internships
  • Fresher Jobs
  • Roadmaps
  • Tax Calculator

Resources

  • Articles
  • DRDO Internships

Support

  • Contact Us

DSA & Interview Prep

  • DSA Questions
  • DSA Sheets
  • Company Questions
  • Topics

Company

  • Companies Hiring
  • About
  • Contact
  • Advertisement

Legal

  • Privacy Policy
  • Terms & Conditions
  • Refund Policy
  • Delivery Policy

Popular Skills

Browse All Skills →

Popular Tags

Browse All Tags →

© 2025 Talentd.in - All rights reserved

Privacy PolicyTerms & Conditions
Talentd Logo
Talentd#1 Freshers Platform
Jobs
Learning
Career Tools
Talentd Logo
Talentd#1 Freshers Platform
Jobs
Learning
Career Tools
Talentd Logo
Talentd#1 Freshers Platform
Jobs
Learning
Career Tools
Talentd Logo
Talentd#1 Freshers Platform
Jobs
Learning
Career Tools
Talentd Logo
Talentd#1 Freshers Platform
DSA Corner
DashboardQuestionsTopicsCompaniesSheets

Talentd Logo
Talentd

Your trusted platform to ace any job interviews, craft the perfect resumes, and land your dream jobs.

P
Featured on
Product Hunt
â–²455
All services are online

Products

  • Resume Review
  • Company Prep Pack
  • DSA Corner
  • Jobs
  • Internships
  • Fresher Jobs
  • Roadmaps
  • Tax Calculator

Resources

  • Articles
  • DRDO Internships

Support

  • Contact Us

DSA & Interview Prep

  • DSA Questions
  • DSA Sheets
  • Company Questions
  • Topics

Company

  • Companies Hiring
  • About
  • Contact
  • Advertisement

Legal

  • Privacy Policy
  • Terms & Conditions
  • Refund Policy
  • Delivery Policy

Popular Skills

Browse All Skills →

Popular Tags

Browse All Tags →

© 2025 Talentd.in - All rights reserved

Privacy PolicyTerms & Conditions
Talentd Logo
Talentd#1 Freshers Platform
Jobs
Learning
Career Tools
Talentd Logo
Talentd#1 Freshers Platform
Jobs
Learning
Career Tools
Talentd Logo
Talentd#1 Freshers Platform
Jobs
Learning
Career Tools
Talentd Logo
Talentd#1 Freshers Platform
Jobs
Learning
Career Tools
Talentd Logo
Talentd#1 Freshers Platform
DSA Corner
DashboardQuestionsTopicsCompaniesSheets
Talentd Logo
Talentd

Your trusted platform to ace any job interviews, craft the perfect resumes, and land your dream jobs.

P
Featured on
Product Hunt
â–²455
All services are online

Products

  • Resume Review
  • Company Prep Pack
  • DSA Corner
  • Jobs
  • Internships
  • Fresher Jobs
  • Roadmaps
  • Tax Calculator

Resources

  • Articles
  • DRDO Internships

Support

  • Contact Us

DSA & Interview Prep

  • DSA Questions
  • DSA Sheets
  • Company Questions
  • Topics

Company

  • Companies Hiring
  • About
  • Contact
  • Advertisement

Legal

  • Privacy Policy
  • Terms & Conditions
  • Refund Policy
  • Delivery Policy

Popular Skills

Browse All Skills →

Popular Tags

Browse All Tags →

© 2025 Talentd.in - All rights reserved

Privacy PolicyTerms & Conditions
Talentd Logo
Talentd#1 Freshers Platform
Jobs
Learning
Career Tools
Talentd Logo
Talentd#1 Freshers Platform
Jobs
Learning
Career Tools
Talentd Logo
Talentd#1 Freshers Platform
Jobs
Learning
Career Tools
Talentd Logo
Talentd#1 Freshers Platform
Jobs
Learning
Career Tools
Talentd Logo
Talentd#1 Freshers Platform
DSA Corner
DashboardQuestionsTopicsCompaniesSheets
Talentd Logo
Talentd

Your trusted platform to ace any job interviews, craft the perfect resumes, and land your dream jobs.

P
Featured on
Product Hunt
â–²455
All services are online

Products

  • Resume Review
  • Company Prep Pack
  • DSA Corner
  • Jobs
  • Internships
  • Fresher Jobs
  • Roadmaps
  • Tax Calculator

Resources

  • Articles
  • DRDO Internships

Support

  • Contact Us

DSA & Interview Prep

  • DSA Questions
  • DSA Sheets
  • Company Questions
  • Topics

Company

  • Companies Hiring
  • About
  • Contact
  • Advertisement

Legal

  • Privacy Policy
  • Terms & Conditions
  • Refund Policy
  • Delivery Policy

Popular Skills

Browse All Skills →

Popular Tags

Browse All Tags →

© 2025 Talentd.in - All rights reserved

Privacy PolicyTerms & Conditions
Talentd Logo
Talentd#1 Freshers Platform
Jobs
Learning
Career Tools
Talentd Logo
Talentd#1 Freshers Platform
Jobs
Learning
Career Tools
Talentd Logo
Talentd#1 Freshers Platform
Jobs
Learning
Career Tools
Talentd Logo
Talentd#1 Freshers Platform
Jobs
Learning
Career Tools
Talentd Logo
Talentd#1 Freshers Platform
DSA Corner
DashboardQuestionsTopicsCompaniesSheets
Back to Problems

1011. Capacity To Ship Packages Within D Days

Medium70.8% Acceptance
ArrayBinary Search
Asked by:
F
Facebook
TikTok
ProblemHints (1)Solutions (12)VideosCompanies (17)Notes

Problem Statement

A conveyor belt has packages that must be shipped from one port to another within days days.

The ith package on the conveyor belt has a weight of weights[i]. Each day, we load the ship with packages on the conveyor belt (in the order given by weights). We may not load more weight than the maximum weight capacity of the ship.

Return the least weight capacity of the ship that will result in all the packages on the conveyor belt being shipped within days days.

Example 1:

Input: weights = [1,2,3,4,5,6,7,8,9,10], days = 5
Output: 15
Explanation: A ship capacity of 15 is the minimum to ship all the packages in 5 days like this:
1st day: 1, 2, 3, 4, 5
2nd day: 6, 7
3rd day: 8
4th day: 9
5th day: 10

Note that the cargo must be shipped in the order given, so using a ship of capacity 14 and splitting the packages into parts like (2, 3, 4, 5), (1, 6, 7), (8), (9), (10) is not allowed.

Example 2:

Input: weights = [3,2,2,4,1,4], days = 3
Output: 6
Explanation: A ship capacity of 6 is the minimum to ship all the packages in 3 days like this:
1st day: 3, 2
2nd day: 2, 4
3rd day: 1, 4

Example 3:

Input: weights = [1,2,3,1,1], days = 4
Output: 3
Explanation:
1st day: 1
2nd day: 2
3rd day: 3
4th day: 1, 1

Constraints:

  • 1 <= days <= weights.length <= 5 * 104
  • 1 <= weights[i] <= 500
Talentd Logo
Talentd

Your trusted platform to ace any job interviews, craft the perfect resumes, and land your dream jobs.

P
Featured on
Product Hunt
â–²455
All services are online

Products

  • Resume Review
  • Company Prep Pack
  • DSA Corner
  • Jobs
  • Internships
  • Fresher Jobs
  • Roadmaps
  • Tax Calculator

Resources

  • Articles
  • DRDO Internships

Support

  • Contact Us

DSA & Interview Prep

  • DSA Questions
  • DSA Sheets
  • Company Questions
  • Topics

Company

  • Companies Hiring
  • About
  • Contact
  • Advertisement

Legal

  • Privacy Policy
  • Terms & Conditions
  • Refund Policy
  • Delivery Policy

Popular Skills

Browse All Skills →

Popular Tags

Browse All Tags →

© 2025 Talentd.in - All rights reserved

Privacy PolicyTerms & Conditions
T
F
Flipkart
E
Expedia
A
Amazon
+12

Approach

The key idea in #1011 Capacity To Ship Packages Within D Days is to determine the minimum ship capacity that allows all packages to be shipped within the given number of days. Since packages must be shipped in order, we cannot rearrange them, which makes greedy simulation useful.

A common strategy is to apply Binary Search on the answer. The minimum possible capacity is the maximum weight in the array, while the maximum capacity is the sum of all weights. For any candidate capacity, we simulate loading packages day by day and count how many days are required.

If the required days exceed D, the capacity is too small, so we increase it. Otherwise, we try a smaller capacity to minimize the result. This combination of binary search and greedy validation efficiently finds the smallest feasible capacity.

The overall solution runs in O(n log S) time, where S is the sum of weights, and uses O(1) extra space.

Complexity

ApproachTime ComplexitySpace Complexity
Binary Search with Greedy SimulationO(n log S)O(1)

Video Solution Available

take U forward

View all video solutions

Problem Hints

Use these hints if you're stuck. Try solving on your own first.

1
Hint 1

Binary search on the answer. We need a function possible(capacity) which returns true if and only if we can do the task in D days.

Ready to see the solutions?View Solutions

Solutions (12)

Approach 1: Binary Search

This approach utilizes a binary search to find the minimal ship capacity that can carry all packages within the specified number of days. The binary search operates over the range from the maximum value in the weights array to the sum of all weights, which are the logical lower and upper bounds for the ship capacity.

Time Complexity: O(n log m), where n is the number of packages and m is the range of the binary search (sum of weights - max weight).
Space Complexity: O(1), as we use constant extra space.

CC++JavaPythonC#JavaScript
1#include <stdio.h>
2
3int canShip(int weights[], int size, int days, int capacity) {
4    int total = 

Explanation

In this C solution, we define a helper function canShip which checks if a given capacity can ship all packages within the specified days. We use binary search in the shipWithinDays function to find the minimal capacity required, by adjusting the search bounds based on the feasibility determined by canShip.

Approach 2: Greedy Simulation

This approach involves greedy simulation to estimate the minimum capacity by incrementing from the largest single package weight until you find a capacity that can ship all the packages within the days. Note that this approach may take more time in the worst case due to the linear increment.

Time Complexity: O(n * C/m), where C/m is the number of increments in the worst case.
Space Complexity: O(1).

CC++JavaPythonC#JavaScript
1


Video Solutions

Watch expert explanations and walkthroughs

BS-15. Capacity to Ship Packages within D Days

take U forward
20:36142,401 views

Asked By Companies

17 companies
F
Facebook
T
TikTok
F
Flipkart
E
Expedia
A
Amazon
B
Bloomberg
O
Oracle
G
Goldman Sachs
S
Salesforce
A
Agoda
G
Google
A
Apple
U
Uber
A
Adobe
M
Microsoft
D
DoorDash
C
CureFit

Prepare for Interviews

Practice problems asked by these companies to ace your technical interviews.

Explore More Problems

Notes

Personal Notes

Jot down your thoughts, approach, and key learnings

0 characters

Similar Problems

Median of Two Sorted ArraysHard
Search in Rotated Sorted ArrayMedium
Find First and Last Position of Element in Sorted ArrayMedium
Search Insert PositionEasy
More similar problems

Related Topics

ArrayBinary Search

Problem Stats

Acceptance Rate70.8%
DifficultyMedium
Companies17

Practice on LeetCode

Solve with full IDE support and test cases

Solve Now

Frequently Asked Questions

Why is binary search used in Capacity To Ship Packages Within D Days?

Binary search is used because the answer space (possible ship capacities) is ordered. If a certain capacity can ship packages within D days, any larger capacity will also work. This monotonic property makes binary search efficient for finding the minimum valid capacity.

Is Capacity To Ship Packages Within D Days asked in coding interviews?

Yes, this problem is commonly asked in technical interviews, including FAANG-style companies. It tests understanding of binary search on answer space, greedy validation, and efficient problem modeling.

What data structure is used in Capacity To Ship Packages Within D Days?

The problem mainly uses arrays and simple variables for simulation. No advanced data structures are required because packages are processed sequentially while counting the number of days needed for a given capacity.

What is the optimal approach for Capacity To Ship Packages Within D Days?

The optimal approach uses binary search on the possible ship capacity. For each candidate capacity, we simulate loading packages in order and count how many days it takes. This greedy check helps determine whether to increase or decrease the capacity.

0
,
dayCount
=
1
;
5
for
(
int
i
=
0
;
i
<
size
;
i
++
)
{
6
if
(
total
+
weights
[
i
]
>
capacity
)
{
7
dayCount
++
;
8
total
=
0
;
9
}
10
total
+=
weights
[
i
]
;
11
}
12
return
dayCount
<=
days
;
13
}
14
15
int
shipWithinDays
(
int
*
weights
,
int
size
,
int
days
)
{
16
int
left
=
weights
[
0
]
,
right
=
0
;
17
for
(
int
i
=
0
;
i
<
size
;
i
++
)
{
18
if
(
weights
[
i
]
>
left
)
{
left
=
weights
[
i
]
;
}
19
right
+=
weights
[
i
]
;
20
}
21
while
(
left
<
right
)
{
22
int
mid
=
left
+
(
right
-
left
)
/
2
;
23
if
(
canShip
(
weights
,
size
,
days
,
mid
)
)
{
24
right
=
mid
;
25
}
else
{
26
left
=
mid
+
1
;
27
}
28
}
29
return
left
;
30
}
31
32
int
main
(
)
{
33
int
weights
[
]
=
{
1
,
2
,
3
,
4
,
5
,
6
,
7
,
8
,
9
,
10
}
;
34
int
days
=
5
;
35
int
size
=
sizeof
(
weights
)
/
sizeof
(
weights
[
0
]
)
;
36
printf
(
"%d\n"
,
shipWithinDays
(
weights
,
size
,
days
)
)
;
// Output: 15
37
return
0
;
38
}
#
include
<stdio.h>
2
3
int
canShip
(
int
weights
[
]
,
int
size
,
int
days
,
int
capacity
)
{
4
int
total
=
0
,
dayCount
=
1
;
5
for
(
int
i
=
0
;
i
<
size
;
i
++
)
{
6
if
(
total
+
weights
[
i
]
>
capacity
)
{
7
dayCount
++
;
8
total
=
0
;
9
}
10
total
+=
weights
[
i
]
;
11
}
12
return
dayCount
<=
days
;
13
}
14
15
int
shipWithinDays
(
int
*
weights
,
int
size
,
int
days
)
{
16
int
left
=
weights
[
0
]
;
17
for
(
int
i
=
0
;
i
<
size
;
i
++
)
{
18
if
(
weights
[
i
]
>
left
)
{
left
=
weights
[
i
]
;
}
19
}
20
while
(
!
canShip
(
weights
,
size
,
days
,
left
)
)
{
21
left
++
;
22
}
23
return
left
;
24
}
25
26
int
main
(
)
{
27
int
weights
[
]
=
{
1
,
2
,
3
,
4
,
5
,
6
,
7
,
8
,
9
,
10
}
;
28
int
days
=
5
;
29
int
size
=
sizeof
(
weights
)
/
sizeof
(
weights
[
0
]
)
;
30
printf
(
"%d\n"
,
shipWithinDays
(
weights
,
size
,
days
)
)
;
// Output: 15
31
return
0
;
32
}

Explanation

This C solution incrementally increases the capacity from the maximum package weight. With each increment, we check if the current capacity is sufficient to ship within the given days using canShip. This approach may take longer due to its linear simulation nature.