-4

与えられたサンプル入力データに対して以下のコードをテストでき、正常に検証できました。

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();
    }
}
4

1 に答える 1

-1

私はこれを解決できました。プログラムは正常に動作しています。回答を評価 Web サイトにコピーする方法に問題がありました。

ありがとう。

于 2014-12-22T18:39:41.247 に答える