【leetCode】5_최장 메모 문자열
1181 단어 leetCode
class Solution {
public String longestPalindrome(String s) {
int maxLength = 0, ti = 0, tj = 1;
int strlen = s.length();
int[][] dp = new int[strlen + 5][strlen + 5];
for (int i = 0; i < strlen; i ++){
for (int j = 0; j < 2; j ++){
dp[i][i + j] = 1;
}
}
for (int i = 1; i < strlen; i ++){
dp[i][i - 1] = 1;
}
for(int k = 1; k <= strlen; k ++){
for (int i = 0; i < strlen; i ++){
if (i + k > strlen)
break;
if (s.charAt(i) == s.charAt(i + k - 1)){
dp[i][k + i] = dp[i + 1][i + k - 1];
if ((dp[i][k + i] == 1) && (k > maxLength)) {
maxLength = k;
tj = k + i;
ti = i;
}
}
else{
dp[i][i + k] = 0;
}
}
}
if (strlen != 0)
return s.substring(ti, tj);
else
return "";
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
두 갈래 나무의 최대 지름Diameter of Binary Tree Given a binary tree, you need to compute the length of the diameter of the tree. The diameter of...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.