Jadikan Dua Tatasusunan Sama dengan Membalikkan Subarrays

王林
Lepaskan: 2024-08-05 19:35:49
asal
927 orang telah melayarinya

Make Two Arrays Equal by Reversing Subarrays

1460. Jadikan Dua Tatasusunan Sama dengan Membalikkan Subarray

Mudah

Anda diberi dua tatasusunan integer dengan sasaran dan arr yang sama panjang. Dalam satu langkah, anda boleh memilih mana-mana subarray bukan kosong arr dan membalikkannya. Anda dibenarkan membuat sebarang bilangan langkah.

Kembali benar jika anda boleh membuat arr sama dengan sasaran atau palsu sebaliknya.

Contoh 1:

  • Input: sasaran = [1,2,3,4], arr = [2,4,1,3]
  • Output: benar
  • Penjelasan: Anda boleh mengikuti langkah seterusnya untuk menukar arr kepada sasaran:
    1. Subarray terbalik [2,4,1], arr menjadi [1,4,2,3]
    2. Subarray terbalik [4,2], arr menjadi [1,2,4,3]
    3. Subarray terbalik [4,3], arr menjadi [1,2,3,4]
    4. Terdapat pelbagai cara untuk menukar arr kepada sasaran, ini bukan satu-satunya cara untuk berbuat demikian.

Contoh 2:

  • Input: sasaran = [7], arr = [7]
  • Output: benar
  • Penjelasan: arr adalah sama dengan sasaran tanpa sebarang pembalikan.

Contoh 3:

  • Input: sasaran = [3,7,9], arr = [3,7,11]
  • Output: palsu
  • Penjelasan: arr tidak mempunyai nilai 9 dan ia tidak boleh ditukar kepada sasaran.

Kekangan:

  • sasaran.panjang == arr.panjang
  • 1 <= target.length <= 1000
  • 1 <= sasaran[i] <= 1000
  • 1 <= arr[i] <= 1000

Petunjuk:

  1. Setiap elemen sasaran harus mempunyai elemen yang sepadan dalam arr, dan jika ia tidak mempunyai elemen yang sepadan, kembalikan palsu.
  2. Untuk menyelesaikannya dengan mudah, anda boleh mengisih dua tatasusunan dan menyemak sama ada ia sama.

Penyelesaian:

Untuk menyelesaikan masalah ini, kita boleh ikuti langkah berikut:

  1. Semak sama ada kedua-dua tatasusunan mempunyai elemen yang sama dengan kekerapan yang sama. Jika ada, ini bermakna satu tatasusunan boleh ditukar kepada yang lain dengan membalikkan subarray. Mengisih kedua-dua tatasusunan dan membandingkannya ialah cara mudah untuk mencapainya.

Mari laksanakan penyelesaian ini dalam PHP: 1460. Jadikan Dua Tatasusunan Sama dengan Membalikkan Subarray






Penjelasan:

  1. Isih Tatasusunan: Dengan mengisih kedua-dua sasaran dan arr, kita boleh memastikan bahawa jika ia mempunyai elemen yang sama dengan frekuensi yang sama, ia akan menjadi sama selepas mengisih.
  2. Membandingkan Tatasusunan Terisih: Jika versi sasaran yang diisih adalah sama dengan versi arr yang diisih, ini bermakna arr boleh diubah menjadi sasaran dengan membalikkan subarray, apabila unsur dan frekuensinya sepadan.

Perkara Utama:

  • Isih: Langkah ini memastikan kita boleh membandingkan elemen dalam kedua-dua tatasusunan secara langsung.
  • Perbandingan: Selepas mengisih, perbandingan langsung (==) sudah memadai untuk menyemak sama ada kedua-dua tatasusunan boleh dibuat sama melalui pembalikan subarray.

Penyelesaian ini memanfaatkan sifat pengisihan dan perbandingan tatasusunan dalam PHP, menjadikannya mudah dan cekap.

Pautan Kenalan

Jika anda mendapati siri ini membantu, sila pertimbangkan untuk memberi repositori bintang di GitHub atau berkongsi siaran pada rangkaian sosial kegemaran anda ?. Sokongan anda amat bermakna bagi saya!

Jika anda mahukan kandungan yang lebih berguna seperti ini, sila ikuti saya:

  • LinkedIn
  • GitHub

Atas ialah kandungan terperinci Jadikan Dua Tatasusunan Sama dengan Membalikkan Subarrays. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:dev.to
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!