Rod Cutting Problem
Given a rod of length n and a list of prices of rods of length i, where 1 <= i <= n, find the optimal way to cut the rod into smaller rods to maximize profit.
Ace your Coding Interview
Get hired by top tech companies with our comprehensive interview preparation.
Get StartedGiven a rod of length n and a list of prices of rods of length i, where 1 <= i <= n, find the optimal way to cut the rod into smaller rods to maximize profit.
Given a set of positive integers S, partition set S into two subsets, S1 and S2, such that the difference between the sum of elements in S1 and the sum of elements in S2 is minimized.
Given a set of positive integers and an integer s, is there any non-empty subset whose sum to s.
Given a set of positive integers, find if it can be divided into two subsets with equal sum. The partition problem is a special case of the subset sum problem, which itself is a special case of the knapsack problem.
Given an array A, maximize value of expression (A[s] – A[r] + A[q] – A[p]), where p, q, r, and s are indices of the array and s > r > q > p.
In the 0–1 Knapsack problem, we are given a set of items, each with a weight and a value, and we need to determine the number of each item to include in a collection so that the total weight is less than or equal to a given limit and the total value is as large as possible.
Matrix chain multiplication is an optimization problem that to find the most efficient way to multiply a given sequence of matrices. The problem is not actually to perform the multiplications but merely to decide the sequence of the matrix multiplications involved.
Find a subsequence of a given sequence such that the subsequence sum is as high as possible and the subsequence’s elements are in sorted order, from lowest to highest. This subsequence is not necessarily contiguous or unique.
The longest bitonic subsequence problem is to find a subsequence of a given sequence in which the subsequence’s elements are first sorted in increasing order, then in decreasing order, and the subsequence is as long as possible.
The longest increasing subsequence problem is to find a subsequence of a given sequence in which the subsequence’s elements are in sorted order, lowest to highest, and in which the subsequence is as long as possible. This subsequence is not necessarily contiguous or unique.
Given a limited range integer array of size n with all its elements between 1 and n except for one element that occurs twice and one missing from the list. Find the missing number and the duplicate element in linear time and without using any extra memory.
In previous post, we have introduced the heap data structure and covered heapify-up, push, heapify-down and pop operations. This article covers Java implementation of Priority Queue Data Structure (Max Heap and Min heap).