第一行一个字符串,表示目标字符串,长度不超过 1000。
输出一个整数,表示最少操作次数。
ababababc
6
先执行四次添加操作,得到 abab,然后复制粘贴一次,得到 abababab,最后添加一次 c。
import java.util.Scanner;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
String s = in.next();
StringBuilder sb = new StringBuilder();
int max = 0;
for (int i = 0, j = 0; i < s.length() ; i++) {
sb.append(s.charAt(i));
int idnex = s.lastIndexOf(sb.toString());
if (idnex != -1 && idnex > i) {
max = Math.max(max, sb.toString().length());
} else {
//sb = new StringBuilder();
int cnt = 0;
while (j < i) {
sb.setCharAt(cnt, '\0');
int id = s.lastIndexOf(sb.toString());
if (id != -1 && id > i) {
break;
}
j++;
cnt++;
}
}
}
//System.out.println(max);
System.out.println(s.length() + 1 - max);
}
}