2014-12-21 87 views
-4

我能夠測試下面給出的示例輸入數據的代碼,並且能夠成功驗證。Rosalind模式匹配Java不接受

http://rosalind.info/problems/1c/

但不知何故,爲我下載任何數據集,答案是不被該網站所接受。我不確定如果我錯過了一些東西。

我正在使用樸素的indexOf函數。不知道是否真的需要KMP,除非輸入字符串非常大。

import java.util.*; 
import java.lang.*; 
import java.io.*; 
class PatternMatch 
{ 
    public static StringBuilder out = new StringBuilder(); 
    public static void main (String[] args) throws java.lang.Exception 
    { 
     try{ 
      System.out.println(match("GATATATGCATATACTT","ATAT",0)); 
     }catch(Throwable e){ 
      System.out.println("excepton "+e.getMessage()); 
     } 
    } 
    static String match(String text,String pat,int start){ 
     if(start+pat.length()-1<text.length()){ 
      int matchPos = text.indexOf(pat,start); 
      if(matchPos>0){ 
       out.append(matchPos+" "); 
       match(text,pat,matchPos+1); 
      } else { 
       return out.toString(); 
      } 
     } else { 
      return out.toString(); 
     } 
     return out.toString(); 
    } 
} 
+0

我看到反對票,但沒有理由呢?這不是一個正確的問題嗎? – crackerplace

+0

這個問題似乎是無關緊要的,因爲它是關於一個私人網站以及它的功能。 –

+0

@ErickRobertson好人,有人關心解釋。如果那是在我馬上關閉它之前完成的。我沒有看到任何點只是投票下來的問題沒有提示什麼是錯的提示。我的問題仍然有一個關於效率的觀點。 – crackerplace

回答

-1

我已經能夠解決這個問題了。程序工作正常。一些問題以我將答案複製到評估網站的方式。

謝謝。