Maximizing Good Numbers With Binary Representation
Max good number found using dynamic programming and backtracking. O(3!) time complexity.
Problem TC: O(3!) = constant class Solution { int max = 0; public int maxGoodNumber(int[] nums) { int visited[] = new int[3]; List<Integer> list = new ArrayList<>(); find(nums,visited,list); return max; } public void find(int nums[], int visited[],List<Integer> list){ //base case if(list.size()==3){ //System.out.println(list); max = Math.max(max,Integer.parseInt(Integer.toBinaryString(list.get(0)) + Integer.toBinaryString(list.get(1)) + Integer.toBinaryString(list.get(2)),2)); retu...