GOOGLE ADS

Freitag, 29. April 2022

Entfernen Sie zwei Elemente aus der Liste, sodass sie geordnet erscheint

Ich habe es so gemacht, dass ich die Elemente bekomme, die dazu führen, dass die Liste ungeordnet ist. Aber wie kann man sie löschen und dann die Liste ohne sie anzeigen?

public class Main16 {
public static void main(String[] args){
int arr[] = { 1, 2, 3, 7, 4, 5, 9, 6};
int n = arr.length;
printElements(arr, n);
}
static void printElements(int arr[], int n)
{
for (int i = 1; i < n - 1; i++)
{
if (arr[i] > arr[i + 1])
System.out.print(arr[i] + " ");
}
}

}


Lösung des Problems

Wie Nexevis sagte, können Sie mit Arrays nicht wirklich tun, was Sie tun möchten. Sie haben 2 Möglichkeiten:

  • Gehen Sie den Prozess des Arbeitens mit Arrays und des Kopierens und Übertragens durch.

    1.5) Sie können auch java.util.Arrays.sort() verwenden, wenn Sie nur ein Array in der richtigen Reihenfolge haben möchten, aber es scheint, als wollten Sie sie direkt entfernen:


  • Arrays.sort(arr);

  • Verwenden Sie a List<Integer>, weil Sie nur die falschen Begriffe finden und dann remove()aus der Liste entfernen müssen. Die Länge wird automatisch angepasst. (Ich würde gerne demonstrieren, wie Sie dies tun würden, wenn Sie möchten)
  • Keine Kommentare:

    Kommentar veröffentlichen

    Warum werden SCHED_FIFO-Threads derselben physischen CPU zugewiesen, obwohl CPUs im Leerlauf verfügbar sind?

    Lösung des Problems Wenn ich das richtig verstehe, versuchen Sie, SCHED_FIFO mit aktiviertem Hyperthreading ("HT") zu verwenden, ...