Ich bereite mich auf eine Interviewfrage vor. Eine der Fragen ist, einen Satz umzukehren. Wie "es ist ein toller Tag" bis "Tag genial". Danach fragte sie, ob es Doppelarbeit gibt, können Sie die Verdoppelung wie "Ich bin gut, ist es gut" zu "gut ist er, bin ich" entfernen? . Umkehrung und Entfernen von Duplikaten in einem Satz
für Satz der Umkehrung i
public static string reversesentence(string one)
{
StringBuilder builder = new StringBuilder();
string[] split = one.Split(' ');
for (int i = split.Length-1; i >= 0; i--)
{
builder.Append(split[i]);
builder.Append(" ");
}
return builder.ToString();
}
folgende Methode geschrieben haben, aber ich Ideen bin nicht auf die Beseitigung von duplication.Can bekomme ich hier
.
Sie können String-Manipulationen verwenden – dada
Nun, eine naive Vorgehensweise könnte sein, zu überprüfen, ob 'split [i]' aufgetreten ist oder nicht zwischen 'split [i + 1]' zu 'split.Length -1]' I vermuten! – user007
Die Verwendung eines Hashes ist ebenfalls hilfreich. Verwenden Sie das Wort als Schlüssel und weisen Sie ihm den Wert 1 zu. Das gleiche Wort, das mehr als einmal auftaucht, wird einfach einem vorhandenen Wert 1 zuweisen. Ich weiß nicht, wie man das in C# macht, aber ich mache es die ganze Zeit in Perl. – Anthony