mirror of
https://github.com/TheAlgorithms/JavaScript.git
synced 2025-07-05 16:26:47 +08:00
added tests for rodCutting and made some changes
This commit is contained in:
@ -3,7 +3,7 @@
|
|||||||
* Find the maximum profit possible by cutting the rod and selling the pieces.
|
* Find the maximum profit possible by cutting the rod and selling the pieces.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
function rodCut(prices, n){
|
export function rodCut(prices, n){
|
||||||
let memo = new Array(n + 1);
|
let memo = new Array(n + 1);
|
||||||
memo[0] = 0;
|
memo[0] = 0;
|
||||||
|
|
||||||
@ -18,10 +18,4 @@
|
|||||||
return memo[n];
|
return memo[n];
|
||||||
}
|
}
|
||||||
|
|
||||||
function main(){
|
|
||||||
let arr = [1, 5, 4, 2, 1, 11, 19, 12];
|
|
||||||
let n = arr.length;
|
|
||||||
console.log('Maximum Possible Profit is : '+ rodCut(arr,n));
|
|
||||||
}
|
|
||||||
|
|
||||||
main();
|
|
||||||
|
22
Dynamic-Programming/tests/RodCutting.test.js
Normal file
22
Dynamic-Programming/tests/RodCutting.test.js
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
import { rodCut } from '../RodCutting'
|
||||||
|
|
||||||
|
test('Test Case 1', () => {
|
||||||
|
expect(rodCut([1,5,8,9,10,17,17,20],8)).toBe(22);
|
||||||
|
})
|
||||||
|
|
||||||
|
test('Test Case 2', () => {
|
||||||
|
expect(rodCut([1,5,4,2,1,11,19,12],8)).toBe(20);
|
||||||
|
})
|
||||||
|
|
||||||
|
test('Test Case 3', () => {
|
||||||
|
expect(rodCut([1,2,1],3)).toBe(3);
|
||||||
|
})
|
||||||
|
|
||||||
|
test('Test Case 4', () => {
|
||||||
|
expect(rodCut([5,4,3,2,1],5)).toBe(25);
|
||||||
|
})
|
||||||
|
|
||||||
|
test('Test Case 5', () => {
|
||||||
|
expect(rodCut([3,5,8,8,10,16,14,19],8)).toBe(24);
|
||||||
|
})
|
||||||
|
|
Reference in New Issue
Block a user