comefrom: <awangdev>140. Word Break II_4.java
code: public boolean[] validatePossibility(List<String> wordDict, boolean[][] isWord, String s) {
          int maxLen = 0;
          for (String word : wordDict) {
              maxLen = Math.max(maxLen, word.length());
          }
  
          int n = s.length();
          boolean[] isValid = new boolean[n + 1];
          isValid[n] = true;
          for (int i = n - 1; i >= 0; i--) {
              for (int j = i; j < n; j++) {
                  if (isWord[i][j] && isValid[j + 1]) {
                      isValid[i] = true;
                      break;
                  }
              }
          }
          return isValid;
      }
masked: public boolean [ ] var_0 ( List < String > var_1 , boolean [ ] [ ] var_2 , String var_3 ) {
    int var_4 = 0 ;
    for ( String var_5 : var_1 ) {
      var_4 = Math . max ( var_4 , var_5 . length ( ) ) ;
    }
    int var_6 = var_3 . length ( ) ;
    boolean [ ] var_7 = new boolean [ var_6 + 1 ] ;
    var_7 [ var_6 ] = true ;
    for ( int var_8 = var_6 - 1 ;
    var_8 >= 0 ;
    var_8 -- ) {
      for ( int var_9 = var_8 ;
      var_9 < var_6 ;
      var_9 ++ ) {
        if ( var_2 [ var_8 ] [ var_9 ] && var_7 [ var_9 + 1 ] ) {
          var_7 [ var_8 ] = true ;
          break ;
        }
      }
    }
    return var_7 ;
  }
  