// Frog Jump via Bottom-up(Tabulation)
// tc = O(n)
// sc = O(n) --> extra dp array
import java.util.*;
public class dp {
public static void main(String[] args) {
int height[]={30,10,60,10,60,50};
int n = 5; // or when --> n = height.length
int dp[] = new int[n+1];
Arrays.fill(dp,-1);
dp[0] = 0;
for(int i = 1;i<n+1;i++)
{
int left_jmpOne = dp[i-1] + Math.abs(height[i] - height[i-1]);
int right_jmpTwo = Integer.MAX_VALUE;
if(i>1){
right_jmpTwo = dp[i-2] + Math.abs(height[i] - height[i-2]);
}
dp[i] = Math.min(left_jmpOne,right_jmpTwo);
}
System.out.println(dp[n]); // then n-1
}
}
No comments:
Post a Comment