2044. Count Number of Maximum Bitwise-OR Subsets
JAVA class Solution { private int mx ; private int ans ; private int [] nums ; public int countMaxOrSubsets ( int [] nums ) { mx = 0 ; for ( int x : nums ) { mx |= x ; } this . nums = nums ; dfs ( 0 , 0 ); return ans ; } private void dfs ( int i , int t ) { if ( i == nums . length ) { if ( t == mx ) { ++ ans ; } return ; } dfs ( i + 1 , t ); dfs ( i + 1 , t | nums [ i ]); } } We can use DP to reduce the time complexity at the cost of space complexity class Solution { private int mx ; private int ans ; private int [] nums ; public int countMaxOrSubsets ( int [] nums ) { mx = 0 ; for ( int x : nums ) { mx |= x ; } this . nums = nums ; dfs ( 0 ...