/**/ public static void main(string[] strarr) { Alphabet.__ <clinit>(); Alphabet alphabet = new Alphabet(strarr[0]); int num = alphabet.R(); int[] array = new int[num]; string @this = StdIn.readAll(); int num2 = java.lang.String.instancehelper_length(@this); for (int i = 0; i < num2; i++) { if (alphabet.contains(java.lang.String.instancehelper_charAt(@this, i))) { int[] arg_54_0 = array; int num3 = alphabet.toIndex(java.lang.String.instancehelper_charAt(@this, i)); int[] array2 = arg_54_0; array2[num3]++; } } for (int i = 0; i < num; i++) { StdOut.println(new StringBuilder().append(alphabet.toChar(i)).append(" ").append(array[i]).toString()); } }
/** * Unit tests the {@code SuffixArrayx} data type. * * @param args the command-line arguments */ public static void main(String[] args) { String s = StdIn.readAll().replaceAll("\n", " ").trim(); SuffixArrayX suffix1 = new SuffixArrayX(s); SuffixArray suffix2 = new SuffixArray(s); boolean check = true; for (int i = 0; check && i < s.length(); i++) { if (suffix1.index(i) != suffix2.index(i)) { StdOut.println("suffix1(" + i + ") = " + suffix1.index(i)); StdOut.println("suffix2(" + i + ") = " + suffix2.index(i)); String ith = "\"" + s.substring(suffix1.index(i), Math.min(suffix1.index(i) + 50, s.length())) + "\""; String jth = "\"" + s.substring(suffix2.index(i), Math.min(suffix2.index(i) + 50, s.length())) + "\""; StdOut.println(ith); StdOut.println(jth); check = false; } } StdOut.println(" i ind lcp rnk select"); StdOut.println("---------------------------"); for (int i = 0; i < s.length(); i++) { int index = suffix2.index(i); String ith = "\"" + s.substring(index, Math.min(index + 50, s.length())) + "\""; int rank = suffix2.rank(s.substring(index)); assert s.substring(index).equals(suffix2.select(i)); if (i == 0) { StdOut.printf("%3d %3d %3s %3d %s\n", i, index, "-", rank, ith); } else { // int lcp = suffix.lcp(suffix2.index(i), suffix2.index(i-1)); int lcp = suffix2.lcp(i); StdOut.printf("%3d %3d %3d %3d %s\n", i, index, lcp, rank, ith); } } }
/** * Unit tests the {@code SuffixArray} data type. * * @param args the command-line arguments */ public static void main(String[] args) { String s = StdIn.readAll().replaceAll("\\s+", " ").trim(); SuffixArray suffix = new SuffixArray(s); // StdOut.println("rank(" + args[0] + ") = " + suffix.rank(args[0])); StdOut.println(" i ind lcp rnk select"); StdOut.println("---------------------------"); for (int i = 0; i < s.length(); i++) { int index = suffix.index(i); String ith = "\"" + s.substring(index, Math.min(index + 50, s.length())) + "\""; assert s.substring(index).equals(suffix.select(i)); int rank = suffix.rank(s.substring(index)); if (i == 0) { StdOut.printf("%3d %3d %3s %3d %s\n", i, index, "-", rank, ith); } else { int lcp = suffix.lcp(i); StdOut.printf("%3d %3d %3d %3d %s\n", i, index, lcp, rank, ith); } } }
/**/ public static void main(string[] strarr) { string text = java.lang.String.instancehelper_trim(java.lang.String.instancehelper_replaceAll(StdIn.readAll(), "\n", " ")); SuffixArrayX suffixArrayX = new SuffixArrayX(text); SuffixArray suffixArray = new SuffixArray(text); int num = 1; int i = 0; while (num != 0 && i < java.lang.String.instancehelper_length(text)) { if (suffixArray.index(i) != suffixArrayX.index(i)) { StdOut.println(new StringBuilder().append("suffixReference(").append(i).append(") = ").append(suffixArray.index(i)).toString()); StdOut.println(new StringBuilder().append("suffix(").append(i).append(") = ").append(suffixArrayX.index(i)).toString()); string obj = new StringBuilder().append("\"").append(java.lang.String.instancehelper_substring(text, suffixArrayX.index(i), java.lang.Math.min(suffixArrayX.index(i) + 50, java.lang.String.instancehelper_length(text)))).append("\"").toString(); string text2 = new StringBuilder().append("\"").append(java.lang.String.instancehelper_substring(text, suffixArray.index(i), java.lang.Math.min(suffixArray.index(i) + 50, java.lang.String.instancehelper_length(text)))).append("\"").toString(); StdOut.println(obj); StdOut.println(text2); num = 0; } i++; } StdOut.println(" i ind lcp rnk select"); StdOut.println("---------------------------"); for (i = 0; i < java.lang.String.instancehelper_length(text); i++) { int num2 = suffixArrayX.index(i); string text2 = new StringBuilder().append("\"").append(java.lang.String.instancehelper_substring(text, num2, java.lang.Math.min(num2 + 50, java.lang.String.instancehelper_length(text)))).append("\"").toString(); int i2 = suffixArrayX.rank(java.lang.String.instancehelper_substring(text, num2)); if (!SuffixArrayX.s_assertionsDisabled && !java.lang.String.instancehelper_equals(java.lang.String.instancehelper_substring(text, num2), suffixArrayX.select(i))) { throw new AssertionError(); } if (i == 0) { StdOut.printf("%3d %3d %3s %3d %s\n", new object[] { Integer.valueOf(i), Integer.valueOf(num2), "-", Integer.valueOf(i2), text2 }); } else { int i3 = suffixArrayX.lcp(i); StdOut.printf("%3d %3d %3d %3d %s\n", new object[] { Integer.valueOf(i), Integer.valueOf(num2), Integer.valueOf(i3), Integer.valueOf(i2), text2 }); } } }
/** * Unit tests the {@code lrs()} method. * * @param args the command-line arguments */ public static void main(String[] args) { String text = StdIn.readAll().replaceAll("\\s+", " "); StdOut.println("'" + lrs(text) + "'"); }