java - 我正在为CodeChef编写代码。但是出现错误TLE可以进一步优化吗?

标签 java optimization

我正在为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/

相关文章:

java - 将大文件转换为Java中的base64表示;内存不足异常

java - 中号 :N table does not update

optimization - zend框架2+学说: removing media with related Entity

javascript - document.write 正在拖延我的 Javascript 的其余部分,解决方案吗?

c - 说服编译器在循环外设置寄存器

java - Firebase 中的查询 - 云数据库

java - JPanel 不显示我的图形

performance - DNS 预取和页面优化

java - 制作通用比较器类

c++ - 我们还应该优化 "in the small"吗?