FastPrepBudget-Constrained Project Selection
Problem · Array

Budget-Constrained Project Selection

Learn this problem
MediumSalesforce logoSalesforceFULLTIMEONSITE INTERVIEW
See Salesforce hiring insights

Problem statement

You are given two arrays costs and values of equal length. Project i costs costs[i] units of budget and contributes values[i] units of value.

Select any subset of projects so that:

  • Each project is selected at most once.
  • The total selected cost does not exceed budget.

Return the maximum total value of a valid selection. Selecting no projects is allowed and has value 0.

Function

maximizeProjectValue(costs: int[], values: int[], budget: int) → long

Examples

Example 1

costs = [2,3,4]values = [4,5,10]budget = 6return = 14

Select the projects with costs 2 and 4. Their total cost is 6 and their total value is 14.

Example 2

costs = [5,6]values = [10,12]budget = 4return = 0

No project fits within the budget, so the empty selection is optimal.

Example 3

costs = [1,2,3]values = [6,10,12]budget = 5return = 22

Select the projects with costs 2 and 3 for total value 22.

Constraints

  • 1 <= costs.length = values.length <= 200
  • 1 <= costs[i] <= 10^5
  • 0 <= values[i] <= 10^9
  • 0 <= budget <= 10^5
  • The maximum answer fits in a signed 64-bit integer.

More Salesforce problems

drafts saved locally
public long maximizeProjectValue(int[] costs, int[] values, int budget) {
    // write your code here
}
costs[2,3,4]
values[4,5,10]
budget6
expected14
checking account