cari

. Subset Perkataan

Jan 10, 2025 pm 08:10 PM

. Word Subsets

916. Subset Perkataan

Kesukaran: Sederhana

Topik: Tatasusunan, Jadual Hash, Rentetan

Anda diberi dua tatasusunan rentetan perkataan1 dan perkataan2.

Rentetan b ialah subset rentetan a jika setiap huruf dalam b berlaku dalam kepelbagaian termasuk.

  • Sebagai contoh, "wrr" ialah subset "pahlawan" tetapi bukan subset "dunia".

Rentetan a daripada perkataan1 ialah universal jika bagi setiap rentetan b dalam perkataan2, b ialah subset a.

Kembalikan tatasusunan semua rentetan universal dalam perkataan1. Anda boleh mengembalikan jawapan dalam sebarang pesanan.

Contoh 1:

  • Input: words1 = ["amazon","apple","facebook","google","leetcode"], words2 = ["e","o"]
  • Output: ["facebook","google","leetcode"]

Contoh 2:

  • Input: words1 = ["amazon","apple","facebook","google","leetcode"], words2 = ["l","e"]
  • Output: ["apple","google","leetcode"]

Kekangan:

  • 1 4
  • 1
  • perkataan1[i] dan perkataan2[i] hanya terdiri daripada huruf kecil Inggeris.
  • Semua rentetan perkataan1 adalah unik.

Penyelesaian:

Kita perlu mengenal pasti perkataan dalam perkataan1 yang "sejagat", bermakna setiap rentetan dalam perkataan2 ialah subset perkataan daripada perkataan1.

Pendekatan:

  1. Kira Kekerapan Aksara dalam perkataan2:

    • Pertama, kita perlu menentukan kiraan maksimum bagi setiap aksara merentas semua rentetan dalam perkataan2. Ini memberikan kita bilangan kejadian yang diperlukan untuk setiap aksara menjadi subset.
  2. Semak Setiap Perkataan dalam perkataan1:

    • Untuk setiap perkataan dalam perkataan1, kira kekerapan setiap aksara.
    • Jika bilangan watak dalam perkataan daripada perkataan1 memenuhi atau melebihi kiraan yang diperlukan daripada perkataan2, maka perkataan itu adalah universal.
  3. Kembalikan Perkataan Universal:

    • Selepas menyemak semua perkataan dalam perkataan1, kembalikan perkataan yang universal.

Mari laksanakan penyelesaian ini dalam PHP: 916. Subset Perkataan

<?php /**
 * @param String[] $words1
 * @param String[] $words2
 * @return String[]
 */
function wordSubsets($words1, $words2) {
    ...
    ...
    ...
    /**
     * go to ./solution.php
     */
}

// Example usage:
$words1 = ["amazon", "apple", "facebook", "google", "leetcode"];
$words2 = ["e", "o"];
print_r(wordSubsets($words1, $words2));  // Output: ["facebook", "google", "leetcode"]

$words2 = ["l", "e"];
print_r(wordSubsets($words1, $words2));  // Output: ["apple", "google", "leetcode"]
?>

Penjelasan:

  1. Peta Kekerapan Membina untuk perkataan2: Kami melingkari setiap perkataan dalam perkataan2 dan mengira kekerapan setiap aksara. Kami menjejaki kekerapan maksimum yang diperlukan untuk setiap aksara merentas semua perkataan dalam perkataan2.

  2. Menyemak perkataan1 Perkataan: Untuk setiap perkataan dalam perkataan1, kami mengira kekerapan setiap aksara dan membandingkannya dengan kekerapan yang diperlukan daripada perkataan2. Jika perkataan itu memenuhi keperluan untuk semua watak, ia dianggap universal.

  3. Hasil: Kami menyimpan semua perkataan universal dalam tatasusunan hasil dan mengembalikannya pada penghujungnya.

Kerumitan Masa:

  • Membina peta kekerapan untuk perkataan2: O(n * m), dengan n ialah panjang perkataan2 dan m ialah purata panjang perkataan dalam perkataan2.
  • Menyemak perkataan1: O(k * m), dengan k ialah panjang perkataan1 dan m ialah purata panjang perkataan dalam perkataan1.
  • Jumlah kerumitan masa adalah lebih kurang O(n * m k * m).

Pendekatan ini memastikan kami menyemak setiap perkataan dengan cekap dan memenuhi kekangan masalah.

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 . Subset Perkataan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan
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
Mengoptimumkan Kod PHP: Mengurangkan Penggunaan Memori & Masa PelaksanaanMengoptimumkan Kod PHP: Mengurangkan Penggunaan Memori & Masa PelaksanaanMay 10, 2025 am 12:04 AM

TooptimizephpcodeforreducedmemoryusageandexecutionTime, ikuti: 1) userereferencesInsteadofcopylylargedataStructureStructureStructureStoreducemoryconsumption.2)

E-mel PHP: Panduan Penghantaran Langkah demi LangkahE-mel PHP: Panduan Penghantaran Langkah demi LangkahMay 09, 2025 am 12:14 AM

PhpisusedforsendingemailsduetoitsintegrationWithservermailservicesandexternalsmtpproviders, automatingnotificationsandmarketingcampaigns.1) Setupyourphpenvironmentwithawebserverandphp, Memastikan

Cara Menghantar E -mel melalui PHP: Contoh & KodCara Menghantar E -mel melalui PHP: Contoh & KodMay 09, 2025 am 12:13 AM

Cara terbaik untuk menghantar e -mel ialah menggunakan perpustakaan phpmailer. 1) Menggunakan fungsi mel () adalah mudah tetapi tidak boleh dipercayai, yang boleh menyebabkan e -mel memasuki spam atau tidak dapat dihantar. 2) PHPMailer menyediakan kawalan dan kebolehpercayaan yang lebih baik, dan menyokong surat HTML, lampiran dan pengesahan SMTP. 3) Pastikan tetapan SMTP dikonfigurasi dengan betul dan penyulitan (seperti startTLS atau SSL/TLS) digunakan untuk meningkatkan keselamatan. 4) Untuk sejumlah besar e -mel, pertimbangkan untuk menggunakan sistem giliran mel untuk mengoptimumkan prestasi.

E -mel PHP Lanjutan: Headers & Ciri -ciri KustomE -mel PHP Lanjutan: Headers & Ciri -ciri KustomMay 09, 2025 am 12:13 AM

CustomheadersandadvancedfeaturesInphpeMailenhanceFunctialityandreliability.1) customHeadersAddmetadataFortrackingandCategorization.2) htmlemailsallowformattingIntivity.3)

Panduan untuk menghantar e -mel dengan PHP & SMTPPanduan untuk menghantar e -mel dengan PHP & SMTPMay 09, 2025 am 12:06 AM

Menghantar mel menggunakan PHP dan SMTP boleh dicapai melalui Perpustakaan PHPMailer. 1) Pasang dan konfigurasikan PHPMailer, 2) Tetapkan butiran pelayan SMTP, 3) Tentukan kandungan e -mel, 4) Hantar e -mel dan mengendalikan kesilapan. Gunakan kaedah ini untuk memastikan kebolehpercayaan dan keselamatan e -mel.

Apakah kaedah terbaik untuk menghantar e -mel menggunakan php?Apakah kaedah terbaik untuk menghantar e -mel menggunakan php?May 08, 2025 am 12:21 AM

Thebestapproachforsendingemailsinphpisusingthephpmaillibraryduetoitsreliability, featureRichness, andeaseofuse.phpmailersupportssmtp, proveddetaileDerrorHandling, membolehkanSendsendingHtmlandPlainteMails, supportsattachments, danStoVeShanCess

Amalan terbaik untuk suntikan ketergantungan dalam phpAmalan terbaik untuk suntikan ketergantungan dalam phpMay 08, 2025 am 12:21 AM

Alasan untuk menggunakan suntikan ketergantungan (DI) ialah ia menggalakkan gandingan longgar, kebolehlihatan, dan pemeliharaan kod. 1) Gunakan pembina untuk menyuntik kebergantungan, 2) Elakkan menggunakan pencari perkhidmatan, 3) Gunakan bekas suntikan ketergantungan untuk menguruskan kebergantungan, 4) meningkatkan kesesuaian melalui suntikan suntikan, 5) Elakkan kebergantungan over-suntikan, 6) Pertimbangkan kesan DI terhadap prestasi.

Petua Penalaan Prestasi PHPPetua Penalaan Prestasi PHPMay 08, 2025 am 12:20 AM

Phpperformancetuningiscrucialbecauseitenhancesspeedandeficiency, whoarevitalforwebapplications.1) cachingwithapcureSdatabaseloadandimprovesresponsetimes.2)

See all articles

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Penyesuai Pelayan SAP NetWeaver untuk Eclipse

Penyesuai Pelayan SAP NetWeaver untuk Eclipse

Integrasikan Eclipse dengan pelayan aplikasi SAP NetWeaver.

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SecLists

SecLists

SecLists ialah rakan penguji keselamatan muktamad. Ia ialah koleksi pelbagai jenis senarai yang kerap digunakan semasa penilaian keselamatan, semuanya di satu tempat. SecLists membantu menjadikan ujian keselamatan lebih cekap dan produktif dengan menyediakan semua senarai yang mungkin diperlukan oleh penguji keselamatan dengan mudah. Jenis senarai termasuk nama pengguna, kata laluan, URL, muatan kabur, corak data sensitif, cangkerang web dan banyak lagi. Penguji hanya boleh menarik repositori ini ke mesin ujian baharu dan dia akan mempunyai akses kepada setiap jenis senarai yang dia perlukan.

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

mPDF

mPDF

mPDF ialah perpustakaan PHP yang boleh menjana fail PDF daripada HTML yang dikodkan UTF-8. Pengarang asal, Ian Back, menulis mPDF untuk mengeluarkan fail PDF "dengan cepat" dari tapak webnya dan mengendalikan bahasa yang berbeza. Ia lebih perlahan dan menghasilkan fail yang lebih besar apabila menggunakan fon Unicode daripada skrip asal seperti HTML2FPDF, tetapi menyokong gaya CSS dsb. dan mempunyai banyak peningkatan. Menyokong hampir semua bahasa, termasuk RTL (Arab dan Ibrani) dan CJK (Cina, Jepun dan Korea). Menyokong elemen peringkat blok bersarang (seperti P, DIV),