comefrom: <awangdev>Palindrome Partitioning II_1.java
code: private boolean[][] calcPalindrome(char[] s) {
  
          int n = s.length;
          boolean[][] palindrome = new boolean[n][n];
          
          for (int mid = 0; mid < n; mid++) {
              int i = mid, j = mid;
              while (i >= 0 && j < n && s[i] == s[j]) {
                  palindrome[i][j] = true;
                  i--;
                  j++;
              }
              
              i = mid;
              j = mid + 1;
              while (i >= 0 && j < n && s[i] == s[j]) {
                  palindrome[i][j] = true;
                  i--;
                  j++;
              }
          }
          return palindrome;
      }
masked: private boolean [ ] [ ] var_0 ( char [ ] var_1 ) {
    int var_2 = var_1 . length ;
    boolean [ ] [ ] var_3 = new boolean [ var_2 ] [ var_2 ] ;
    for ( int var_4 = 0 ;
    var_4 < var_2 ;
    var_4 ++ ) {
      int var_5 = var_4 , var_6 = var_4 ;
      while ( var_5 >= 0 && var_6 < var_2 && var_1 [ var_5 ] == var_1 [ var_6 ] ) {
        var_3 [ var_5 ] [ var_6 ] = true ;
        var_5 -- ;
        var_6 ++ ;
      }
      var_5 = var_4 ;
      var_6 = var_4 + 1 ;
      while ( var_5 >= 0 && var_6 < var_2 && var_1 [ var_5 ] == var_1 [ var_6 ] ) {
        var_3 [ var_5 ] [ var_6 ] = true ;
        var_5 -- ;
        var_6 ++ ;
      }
    }
    return var_3 ;
  }
  