我正在为CodeChef编写代码。但是错误TLE(2.10000)是否可以进一步优化?
问题链接:
https://www.codechef.com/APRIL19B/problems/STRCH
码:
/* package codechef; // don't place package name! */
import java.util.*;
import java.lang.*;
import java.io.*;
/* Name of the class has to be "Main" only if the class is public. */
class Codechef
{
public static void main (String[] args) throws java.lang.Exception
{
Scanner ss = new Scanner(System.in);
int T = ss.nextInt();
for(int k=0;k<T;k++){
int counter=0;
int N=ss.nextInt();
String S=ss.next();
char c=ss.next().charAt(0);
int sLengthOne=S.lastIndexOf(c);
int sLengthTwo=S.length();
if(S.length()==N){
for (int i = 0; i <= sLengthOne; i++) {
for (int j = 1; j <= sLengthTwo-i; j++) {
if(S.substring(i,i+j).indexOf(c)!=-1){
counter++;
}
}
}
System.out.println(counter);
}
}
}
}
最佳答案
当您尝试生成给定字符串的所有可能的子字符串时,这会增加代码的大量处理时间。相反,尝试通过计算子字符串而不实际生成子字符串来数学上解决方案,然后检查该子字符串范围内是否存在需要找到的字母的索引。
关于java - 我正在为CodeChef编写代码。但是出现错误TLE可以进一步优化吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55586326/