public class LRS {
public static void main(String[] args) {
String X = "ABABABA";
System.out.println(nativeLRS(X));
}
public static String nativeLRS(String x) {
int length = x.length();
int maxLength = 0;
String max = null;
for (int i =0; i < length; i++) {
int len = 0;
int k = i;
for (int j = i+1; j < length; j++) {
len = statLen(x, k, j);
if (len > maxLength) {
maxLength = len;
max = x.substring(k, len);
}
}
}
return max;
}
public static int statLen(String x, int k, int j) {
int cur_len = 0;
while(k < x.length() && j < x.length() && x.charAt(k) == x.charAt(j)) {
k++;
j++;
cur_len++;
}
return cur_len;
}
}
【Java】LRS最小重复子串
最新推荐文章于 2023-12-28 21:41:46 发布