/* package whatever; // don't place package name! */
import java.util.*;
import java.lang.*;
import java.io.*;
/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
{
int[] a = {10,30,20,40};
System.
out.
println("Test Case 1 Min Cost: " + minCostFrogJump
(a
));
int[] b = {30, 10, 60, 10, 60, 50};
System.
out.
println("Test Case 2 Min Cost: " + minCostFrogJump
(b
)); }
public static int minCostFrogJump(int[] height) {
int n = height.length;
if (n <= 1) return 0;
// dp[i] stores the minimum cost to reach stair i
int[] dp = new int[n];
dp[0] = 0;
dp
[1] = Math.
abs(height
[1] - height
[0]);
for(int i = 2; i<n; i++){
int jumpOne
= dp
[i
- 1] + Math.
abs(height
[i
] - height
[i
- 1]); int jumpTwo
= dp
[i
-2] +Math.
abs(height
[i
] - height
[i
-2]);
dp
[i
] = Math.
min(jumpOne,jumpTwo
); }
return dp[n-1];
}
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgovKiBOYW1lIG9mIHRoZSBjbGFzcyBoYXMgdG8gYmUgIk1haW4iIG9ubHkgaWYgdGhlIGNsYXNzIGlzIHB1YmxpYy4gKi8KY2xhc3MgSWRlb25lCnsKCXB1YmxpYyBzdGF0aWMgdm9pZCBtYWluIChTdHJpbmdbXSBhcmdzKSB0aHJvd3MgamF2YS5sYW5nLkV4Y2VwdGlvbgoJewoJCWludFtdIGEgPSB7MTAsMzAsMjAsNDB9OwoKCQlTeXN0ZW0ub3V0LnByaW50bG4oIlRlc3QgQ2FzZSAxIE1pbiBDb3N0OiAiICsgbWluQ29zdEZyb2dKdW1wKGEpKTsKCgkJaW50W10gYiA9IHszMCwgMTAsIDYwLCAxMCwgNjAsIDUwfTsKCgkJU3lzdGVtLm91dC5wcmludGxuKCJUZXN0IENhc2UgMiBNaW4gQ29zdDogIiArIG1pbkNvc3RGcm9nSnVtcChiKSk7Cgl9CgoKCXB1YmxpYyBzdGF0aWMgaW50IG1pbkNvc3RGcm9nSnVtcChpbnRbXSBoZWlnaHQpIHsKCQlpbnQgbiA9IGhlaWdodC5sZW5ndGg7CgkJaWYgKG4gPD0gMSkgcmV0dXJuIDA7CgkJCgkJLy8gZHBbaV0gc3RvcmVzIHRoZSBtaW5pbXVtIGNvc3QgdG8gcmVhY2ggc3RhaXIgaQoJCWludFtdIGRwID0gbmV3IGludFtuXTsKCgkJZHBbMF0gPSAwOyAKCQlkcFsxXSA9IE1hdGguYWJzKGhlaWdodFsxXSAtIGhlaWdodFswXSk7IAoKCQlmb3IoaW50IGkgPSAyOyBpPG47IGkrKyl7CgkJCWludCBqdW1wT25lID0gZHBbaSAtIDFdICsgTWF0aC5hYnMoaGVpZ2h0W2ldIC0gaGVpZ2h0W2kgLSAxXSk7CgkJCWludCBqdW1wVHdvID0gZHBbaS0yXSArTWF0aC5hYnMoaGVpZ2h0W2ldIC0gaGVpZ2h0W2ktMl0pOwoKCQkJZHBbaV0gPSBNYXRoLm1pbihqdW1wT25lLGp1bXBUd28pOwoJCX0KCgkJcmV0dXJuIGRwW24tMV07Cgl9Cn0=