diff --git a/java-program/Burst_Ballon.java b/java-program/Burst_Ballon.java new file mode 100644 index 0000000..d44433c --- /dev/null +++ b/java-program/Burst_Ballon.java @@ -0,0 +1,46 @@ +import java.io.*; +import java.util.*; + +public class Burst_Ballon { + + public static int solution(int[] arr) { + + int[][] dp = new int[arr.length][arr.length]; + + for(int g = 0; g < dp.length; g++) { + for(int i = 0, j = g; j < dp.length; j++, i++) { + int max = Integer.MIN_VALUE; + for(int k = i; k <= j; k++) { + int left = i == k ? 0 : dp[i][k - 1]; + int right = j == k ? 0 : dp[k + 1][j]; + int val = arr[k]; + if(i > 0) { + val *= arr[i - 1]; + } + + if(j != arr.length - 1) { + val *= arr[j + 1]; + } + + int total = left + right + val; + if(total > max) { + max = total; + } + } + dp[i][j] = max; + } + } + return dp[0][dp.length - 1]; + } + + public static void main(String[] args) { + Scanner scn = new Scanner(System.in); + int n = scn.nextInt(); + int[] arr = new int[n]; + for (int i = 0; i < arr.length; i++) { + arr[i] = scn.nextInt(); + } + System.out.println(solution(arr)); + } + +} \ No newline at end of file diff --git a/java-program/KernighansAlgorithm.java b/java-program/KernighansAlgorithm.java new file mode 100644 index 0000000..bdd59cb --- /dev/null +++ b/java-program/KernighansAlgorithm.java @@ -0,0 +1,15 @@ +import java.util.*; +public class KernighansAlgorithm { + public static void main(String[] args) { + Scanner scn = new Scanner(System.in); + int n = scn.nextInt(); + int count = 0; + while(n != 0){ + int rsbm = n & -n; + n = n - rsbm; + count++; + } + System.out.println(count); + + } +}