Di Jawa Bagaimana Cara Memindahkan semua 0 ke akhir Array Mempertahankan Urutan Array? [2 cara]

Diterbitkan: 2020-12-31
Di Jawa Bagaimana Cara Memindahkan semua 0 ke akhir Array Mempertahankan Urutan Array? [2 cara]

Saya telah bermain dengan masalah moving all 0's to end Array dalam wawancara yang berbeda dalam berbagai kombinasi. Terkadang saya meminta untuk memindahkan semua 0 ke depan array, mengurutkan array tanpa struktur data apa pun dan seterusnya.

Dalam tutorial ini, kita akan membahas contoh sederhana memindahkan semua 0 untuk mengakhiri mempertahankan urutan Array. Ada dua pendekatan.

Pendekatan-1)

Logika QuickSort Partisi. Apa itu Titik Pivot?

  • Pivot point adalah elemen kunci dalam Algoritma Quick Sort. Ia melakukan dan mempartisi koleksi di sekitar titik pivot.
  • Ini mengatur elemen Array yang lebih besar dari pivot sebelumnya, dan elemen yang lebih besar dari pivot setelahnya.
  • Lanjutkan melalui loop untuk mengurutkan array

Logikanya sangat sederhana:

  • Iterasi melalui Array.
  • Jika array[i] tidak sama dengan 0 maka tukar dengan indeks saat ini.
  • Jika array[i] == 0, lewati saja loop
  • Dalam kasus kami 0 is a Pivot point .
  • Setiap kali kami menemukan 0, counter pivot akan bertambah dan elemen akan dipindahkan sebelum pivot point.

Pendekatan-2)

  • Buat array baru dengan ukuran yang sama
  • Iterasi melalui Array dan lewati menambahkan 0

Berikut Program Lengkapnya:

CrunchifyMoveAll0ToEnd.java

Keluaran Konsol Eclipse:

Beri tahu saya jika Anda tahu cara yang lebih baik untuk menyelesaikan masalah ini. Saya akan senang mendengar pikiran Anda.