フォームを縮小不可能なフォームに縮小する問題を解決しました。これが問題でした。文字列を減らすには
Shilには、N個の小文字の英字からなる文字列Sがあります。ある操作では、同じ値の隣接する文字のペアを削除できます。たとえば、文字列 "aabcc"は操作後に "aab"または "bcc"になります。
Shilは可能な限りSを小さくしたいと考えています。これを行うために、彼は上記の操作を実行できる回数だけ繰り返す。還元不可能な用紙を見つけて印刷してください。
最後の文字列が空の場合は、空文字列を出力します。それ以外の場合は、最後に縮小不可能な文字列を出力します。
サンプル入力0
aaabccddd
サンプル出力0
ABD
サンプル入力1
BAAB
サンプル出力1
空文字列
サンプル入力2
AA
サンプル出力2
空文字列
説明
サンプルケース0: Shilは、最終的な文字列を取得するために次の一連の操作を行うことができます。このように
、我々は印刷されます。
サンプルケース1: Shilは、最終的な文字列を取得するには次の一連の操作を行うことができます。 aaabccddd - > abccddd
abccddd - > abddd
abddd - > ABDを
したがって、私たちは印刷します。abd
サンプルケース1: BAAB - > BB
BB - >空の文字列。
私が今まで行ってきたことは、JavaのStringBuilderを使って解決しようとしていることです。しかし、テストケースのいくつかは、他の人が行っていない間に渡され、エラーは何か分からないのですか?
これまで私が試したコードです。入力がBAABあるとき、それは誰も私を助けてください?advacnceに感謝をfails.Can aaabccddd
とAAなどの
import java.util.Scanner;
public class Solution {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
StringBuilder sb = new StringBuilder(scan.nextLine());
for(int i = 0; i < sb.length()-1; i++)
{
if(sb.charAt(i) == sb.charAt(i+1))
sb.delete(i,i+2);
i = 0;
}
if(sb.length() == 0)
System.out.println("Empty String");
else
System.out.println(sb.toString());
}
}
入力 pass.But。
は、私はあなたのプログラムを実行し、それが出力を印刷しているように見えますあなたの入力文字列 "baab"の "bb"として – mhasan
これは_challenge_ですが、ここにはgithub https://www.hackerrank.com/challenges/reducからの解決策がありますed-stringとhttps://github.com/shengmin/coding-problem/tree/master/hackerrank/string-reduction –
"baab"は "b"を生成しませんか? – chrisl08