は私の宿題です:どのようにこのCodingBat Javaメソッドのいずれかを解決するには?ここ
彼らは非空であり、彼らの最初の文字が同じであれば、我々はその2つの文字列の「一致」と言うでしょう。ループして、空でない文字列の配列を次のように返します。文字列が配列の前の文字列と一致する場合は、配列内の2つの文字列を入れ替えます。配列内の位置がスワップされると、何も一致しなくなります。マップを使用すると、配列上を1回だけ通過させることができます。マップで
allSwap(["ab", "ac"]) → ["ac", "ab"] allSwap(["ax", "bx", "cx", "cy", "by", "ay", "aaa", "azz"]) → ["ay", "by", "cy", "cx", "bx", "ax", "azz", "aaa"] allSwap(["ax", "bx", "ay", "by", "ai", "aj", "bx", "by"]) → ["ay", "by", "ax", "bx", "aj", "ai", "by", "bx"]
は、これは非常に便利ですが、私は、教育の目的は、(a)は、これは宿題の質問のように見える、と(b)のOPを作っているように表示されたときに役立ったかもしれないのだろうかどんな事前の努力もありません。彼らがこの解決策を提出すれば、何も学ばなかったかもしれない。 – halfer
@halfer宿題に関する質問に答えるとき、私は常に良いコードがどのように見えるかを誰かに示すことが大きな利点であることを発見しました。私は彼らが今までに何か試みをしたかどうかを知る方法がないが、私の賭けは彼らが持っていることであり、まともな人間であり、実際にコードを読み、何かを理解しなければ質問する。 – 4castle
@halferもちろん、私は宿題の問題は簡単に虐待されていることを認識しているので、アルゴリズムが合理的に複雑であれば答えを出すだけの努力をします。なぜなら、質問者が言語の妥当なレベルのスキルを持ち、これまでのところメリットに基づいて学校に行っています。私は人々を裁くためにここにはいません、私の知識を払うだけです。彼らが何かを学んだかどうかをテストするのは学校の仕事です。 – 4castle