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...