shlogg · Early preview
Prashant Mishra @prashantrmishra

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