童话


私信TA

用户名:17609105446

访问量:852

签 名:

等  级
排  名 10043
经  验 1054
参赛次数 2
文章发表 1
年  龄 0
在职情况 学生
学  校 明德学院
专  业

  自我简介:

解题思路:

我用的是Java代码写的,但是超时了,看不了原因,我就是想写个题解,大佬都帮我看看,我估计是循环写的有问题,求大佬赐教。

写一个方法,将字符串拆分不同的子串,在在原字符串中分别查找是否包含子串,返回查询到的个数。

注意事项:
循环问题。
参考代码:


import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class test {
   public static void main(String[] args) {
       Scanner in = new Scanner(System.in);
       //HashSet<String> s=new HashSet<>();
       //s = new String[];
       int i = 0;
       List<Integer> a = new ArrayList<>();
       //in.nextLine();
       String s = null;
       while (true) {
           s = in.nextLine();
           if (s.equals("."))break;

           a.add(subStr(s));

       }

       for (Integer integer : a) {
           System.out.println(integer);
       }
   }

   private static int subStr(String string) {
       String s = null;
       int sum = 0, flag = 0;
       for (int j = 0; j < string.length()/2; j++) {
           for (int k = 1; k < string.length(); k++) {
               if (sum < flag) sum = flag;
               flag = 0;
               if (j >= k) {
                   k++;
                   continue;
               }

               s = string.substring(j, k);

               int i = 0;
               while (true) {
                   i = string.indexOf(s, i) + 1;
                   if (i == 0) break;
                   flag++;
               }
           }

       }
       return sum;
   }
}

可能是循环有问题。

 

0.0分

2 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换万能编程问答  

代码解释器

代码纠错

SQL生成与解释

  评论区