String S //bemenet!!! int[][] mem //kezdo ertek -1 !!! int tsz(int i, int j) { if (i>=j) return 0 ; else if (S.charAt(i)==S.charAt(j)) { if (mem[i+1][j-1]>=0) mem[i+1][j-1]=tsz(i+1,j-1) ; return mem[i+1][j-1]; } else { if (mem[i+1][j]==-1) mem[i+1][j]=tsz(i+1,j) ; if (mem[i][j-1]==-1) mem[i][j-1]=tsz(i,j-1) ; return Math.min(mem[i+1][j],mem[i][j-1])+1 ; } }