Mi sto preparando per una domanda di intervista. Una delle domande è di annullare una frase. Come "è un giorno fantastico" per "giorno fantastico a suo". Dopo questo, hanno chiesto se c'è una duplicazione, puoi rimuovere la duplicazione come "Io sono buono, è buono" a "buono è, sono io" .Inversione e rimozione di duplicati in una frase
per l'inversione della frase che ho scritto metodo
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();
}
seguente ma io non sono sempre le idee sulla rimozione di duplication.Can io ottenga un certo aiuto qui.
è possibile utilizzare le manipolazioni di stringhe – dada
Bene, un approccio ingenuo potrebbe essere quello di verificare se 'split [i]' si è verificato o meno tra 'split [i + 1]' a 'split [split.Length -1]' I indovina! – user007
Anche l'uso di un hash di qualche tipo è utile. Usa la parola come chiave e assegna il valore 1. La stessa parola che appare più di una volta assegnerà semplicemente 1 a un valore esistente. Non so come farlo in C#, ma lo faccio sempre in Perl. – Anthony