国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

Jadual Kandungan
Jika rentetan input adalah
Algoritma adalah seperti berikut:
, tolaknya ke timbunan.
Contoh
Rumah Java javaTutorial Panjang kurungan kurungan seimbang terpanjang menggunakan java

Panjang kurungan kurungan seimbang terpanjang menggunakan java

Feb 07, 2025 am 11:55 AM
java

Length of longest balanced parentheses prefix using Java

Artikel ini menerangkan cara menggunakan Java untuk mencari panjang kurungan yang paling lama seimbang. Pertama, kita akan memahami masalah menggunakan beberapa contoh dan kemudian belajar dua pendekatan yang berbeza untuk mencarinya.

Penjelasan masalah

Di sini kita memberikan rentetan yang mengandungi kurungan dan kita perlu mencari panjang set kurungan seimbang dari rentetan. Dalam erti kata lain, jika terdapat semua kurungan pembukaan

"(" ")"

, maka kita panggil ia seimbang.

awalan menentukan set seimbang dari awal rentetan. Sebagai contoh, untuk set kurungan '(()) ()', hanya '(())' dipertimbangkan. senario input dan output

Untuk pemahaman yang lebih baik, mari kita lihat beberapa senario input dan output.

Jika rentetan input adalah

"(()"

, awalan kurungan seimbang adalah

()
    , jadi panjangnya adalah 2.
  • Jika rentetan input adalah "((() ())) (((" , kurungan kurungan seimbang adalah ((() ()))) Jadi panjangnya 8.
  • Jika rentetan input adalah "(() ()) () ()" , kurungan kurungan seimbang adalah (() ()) , jadi panjang adalah 6.
  • Panjang kurungan kurungan seimbang yang paling lama dapat dijumpai seperti berikut: menggunakan struktur data stack
  • Count Pembukaan dan Penutup Pandangan

menggunakan struktur data stack
  • tumpukan boleh digunakan. Sekiranya anda mendapati tanda kurung pembukaan '
  • (
  • ' dari timbunan, tolaknya ke timbunan. Jika anda menemui tanda kurung penutup, pop timbunan dan tambah pembolehubah kaunter dengan 2 (baki panjang pasangan Anda mendapat 2.) Teruskan melakukan ini dan mengembalikan pemboleh ubah kaunter apabila ia menjadi timbunan kosong
  • Algoritma

Algoritma adalah seperti berikut:

Jika watak itu

(

, tolaknya ke timbunan.

Jika aksara

adalah

)
<code><p><b>ステップ1:</b>スタックとカウンタを初期化します。</p>
<p><b>ステップ2:</b>文字列の各文字を反復(fù)処理します。</p></code>
, muncul timbunan.
  • Meningkatkan kaunter dengan 2. Semak jika timbunan kosong.
  • Jika ia kosong, berakhir gelung.
  • Langkah 3:
  • Kembalikan kaunter pada akhir.
  • Contoh

    <code><p><b>ステップ1:</b>スタックとカウンタを初期化します。</p>
    <p><b>ステップ2:</b>文字列の各文字を反復(fù)処理します。</p></code>

    output

    rentetan input ialah: ((()) ((( Panjang kurungan kurungan seimbang yang paling lama ialah: 6

    Count Pembukaan dan Penutup Pandangan

    Pendekatan ini menggunakan dua pembolehubah: kiraan dan panjang. Jika watak itu " (" dari rentetan, kiraan kenaikan sebanyak 1; jika watak itu "

    )

    ", kiraan pengurangan sebanyak 1 dan panjang kenaikan sebanyak 2. Semak jika kiraan adalah 0, jika ia adalah 0, keluar dari gelung dan panjang kembali. Contoh

    output
    import java.util.Stack;
    
    public class Example {
       public static int longestBalancedPrefix(String s) {
          Stack<Character> stack = new Stack<>();
          int count = 0;
          for (int i = 0; i < s.length(); i++) {
             char c = s.charAt(i);
             if (c == '(') {
                stack.push(c);
             } else if (c == ')') {
                if (!stack.isEmpty()) {
                   stack.pop();
                   count += 2;
                }
             }
             if (stack.isEmpty()) {
                break;
             }
          }
          return count;
       }
    
       public static void main(String[] args) {
          String s = "((())(((";
          int length = longestBalancedPrefix(s);
          System.out.println("入力文字列は:" + s);
          System.out.println("最長(zhǎng)のバランスの取れた括弧のプレフィックスの長(zhǎng)さは:" + length);
       }
    }

    rentetan input adalah ((()) ()) (())) Panjang Panjang Parentheses yang paling lama adalah 8

Atas ialah kandungan terperinci Panjang kurungan kurungan seimbang terpanjang menggunakan java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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

Alat AI Hot

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

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.

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

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana untuk melangkah ke peta di Java? Bagaimana untuk melangkah ke peta di Java? Jul 13, 2025 am 02:54 AM

Terdapat tiga kaedah umum untuk melintasi Peta di Java: 1. Gunakan entriSet untuk mendapatkan kunci dan nilai pada masa yang sama, yang sesuai untuk kebanyakan senario; 2. Gunakan kekunci atau nilai untuk melintasi kekunci atau nilai masing -masing; 3. Gunakan Foreach Java8 untuk memudahkan struktur kod. EntrySet mengembalikan set set yang mengandungi semua pasangan nilai utama, dan setiap gelung mendapat objek peta.Entry, sesuai untuk akses kerap ke kunci dan nilai; Jika hanya kekunci atau nilai yang diperlukan, anda boleh memanggil kekunci () atau nilai () masing -masing, atau anda boleh mendapatkan nilai melalui map.get (kunci) apabila melintasi kunci; Java 8 boleh menggunakan foreach ((kunci, nilai)-& gt

Bagaimanakah hashmap berfungsi secara dalaman di Java? Bagaimanakah hashmap berfungsi secara dalaman di Java? Jul 15, 2025 am 03:10 AM

HashMap melaksanakan penyimpanan pasangan nilai utama melalui jadual hash di Java, dan terasnya terletak di lokasi data yang cepat. 1. Mula -mula gunakan kaedah hashcode () kunci untuk menghasilkan nilai hash dan mengubahnya menjadi indeks array melalui operasi bit; 2 Objek yang berbeza boleh menghasilkan nilai hash yang sama, mengakibatkan konflik. Pada masa ini, nod dipasang dalam bentuk senarai yang dipautkan. Selepas JDK8, senarai yang dipautkan terlalu panjang (panjang lalai 8) dan ia akan ditukar kepada pokok merah dan hitam untuk meningkatkan kecekapan; 3. Apabila menggunakan kelas tersuai sebagai kunci, sama () dan kaedah hashcode () mesti ditulis semula; 4. HashMap secara dinamik mengembangkan kapasiti. Apabila bilangan elemen melebihi kapasiti dan multiplies oleh faktor beban (lalai 0.75), mengembangkan dan mengembalikan; 5. hashmap tidak selamat benang, dan concu harus digunakan dalam multithreaded

Menggunakan std :: chrono di c Menggunakan std :: chrono di c Jul 15, 2025 am 01:30 AM

STD :: Chrono digunakan dalam C untuk memproses masa, termasuk mendapatkan masa semasa, mengukur masa pelaksanaan, titik masa operasi dan tempoh, dan masa analisis pemformatan. 1. Gunakan std :: chrono :: system_clock :: sekarang () untuk mendapatkan masa semasa, yang boleh ditukar menjadi rentetan yang boleh dibaca, tetapi jam sistem mungkin tidak membosankan; 2. Gunakan std :: chrono :: steady_clock untuk mengukur masa pelaksanaan untuk memastikan monoton, dan mengubahnya menjadi milisaat, saat dan unit lain melalui duration_cast; 3. Titik masa (time_point) dan tempoh (tempoh) boleh saling beroperasi, tetapi perhatian harus dibayar kepada keserasian unit dan zaman jam (Epoch)

Soalan wawancara Java Teratas Soalan wawancara Java Teratas Jul 14, 2025 am 01:59 AM

Soalan frekuensi tinggi dalam wawancara Java terutamanya tertumpu pada sintaks asas, berorientasikan objek, multithreaded, JVM dan kerangka koleksi. Soalan -soalan yang paling biasa termasuk: 1. Terdapat 8 jenis data Java asas, seperti byte, pendek, int, panjang, terapung, double, char dan boolean. Perlu diperhatikan bahawa rentetan bukan jenis data asas; 2. Akhir digunakan untuk mengubah suai kelas, kaedah atau pembolehubah untuk mewakili tidak berubah, dan akhirnya digunakan untuk memastikan pelaksanaan kod dalam pemprosesan pengecualian. Memuktamadkan adalah kaedah kelas objek untuk pembersihan sebelum pengumpulan sampah; 3. Penyegerakan multi-thread dapat dicapai melalui kata kunci yang disegerakkan, reentrantlock, dan vo.

Penyataan PHP Sediakan Hasil Penyataan PHP Sediakan Hasil Jul 14, 2025 am 02:12 AM

Kaedah menggunakan penyataan pra -proses untuk mendapatkan hasil pertanyaan pangkalan data dalam PHP berbeza dari lanjutan. 1. Apabila menggunakan mysqli, anda boleh mendapatkan array bersekutu melalui get_result () dan fetch_assoc (), yang sesuai untuk persekitaran moden; 2. Anda juga boleh menggunakan bind_result () untuk mengikat pembolehubah, yang sesuai untuk situasi di mana terdapat beberapa bidang dan struktur tetap, dan ia adalah keserasian yang baik tetapi terdapat banyak bidang apabila terdapat banyak bidang; 3. Apabila menggunakan PDO, anda boleh mendapatkan array bersekutu melalui FETCH (PDO :: Fetch_assoc), atau menggunakan fetchall () untuk mendapatkan semua data sekaligus, jadi antara muka bersatu dan pengendalian ralat lebih jelas; Di samping itu, anda perlu memberi perhatian kepada pemadanan jenis parameter, pelaksanaan pelaksanaan (), pembebasan sumber yang tepat pada masanya dan membolehkan laporan ralat.

Bagaimana cara memformat tarikh di Java dengan SimpledateFormat? Bagaimana cara memformat tarikh di Java dengan SimpledateFormat? Jul 15, 2025 am 03:12 AM

Buat dan gunakan SimpledateFormat memerlukan lulus dalam rentetan format, seperti berita yang tidak terkumpul ("Yyyy-mm-ddhh: mm: ss"); 2. Perhatikan kepekaan kes dan elakkan penyalahgunaan format satu huruf bercampur dan Yyyy dan DD; 3. SimpleDateFormat bukanlah benang-selamat. Dalam persekitaran pelbagai thread, anda harus membuat contoh baru atau menggunakan threadlocal setiap kali; 4. Apabila menghuraikan rentetan menggunakan kaedah parse, anda perlu menangkap parseexception, dan perhatikan bahawa hasilnya tidak mengandungi maklumat zon waktu; 5. Adalah disyorkan untuk menggunakan DateTimeFormatter dan Lo

Pergi Struct Tags Pergi Struct Tags Jul 14, 2025 am 02:17 AM

Dalam bahasa Go, structtags adalah maklumat meta yang dilampirkan pada medan struktur, yang digunakan untuk mengawal siri, tingkah laku deserialization atau menyediakan konfigurasi perpustakaan. 1.Structtags ditulis dalam backticks dalam kunci: "nilai" format, seperti JSON: "Nama", yang menentukan kaedah bersiri medan; 2. Pelbagai tag boleh wujud bersama, dan setiap perpustakaan mengasingkan bahagian yang diperlukan, seperti JSON dan Gorm bersama -sama; 3. Mapstruktur digunakan untuk mengkonfigurasi pemetaan, dan menyokong tag dan struktur bersarang apabila nama medan konsisten; 4. Beri perhatian untuk mengelakkan kesilapan ejaan, bidang perlu dieksport, dan tag tidak boleh disalahgunakan untuk mempengaruhi kebolehbacaan. Menguasai penggunaannya akan membantu meningkatkan kecekapan dan penjanaan pembangunan

Apa itu biconsumer di Java? Apa itu biconsumer di Java? Jul 14, 2025 am 02:54 AM

Biconsumer adalah antara muka berfungsi di Java yang mengendalikan operasi yang tidak mengembalikan hasil. Ia tergolong dalam pakej java.util.function dan sesuai untuk senario di mana dua data diperlukan untuk beroperasi pada masa yang sama, seperti pasangan nilai utama yang melintasi peta. Penggunaan umum adalah untuk berulang dengan kaedah Foreach Map. Tidak seperti antara muka berfungsi lain seperti pengguna dan bifungsi, biconsumer tidak menghasilkan nilai pulangan. Kaedah pelaksanaan termasuk ekspresi lambda, rujukan kaedah dan kelas tanpa nama. Apabila menggunakannya, anda perlu memberi perhatian kepada susunan parameter jenis, nilai yang tidak boleh dikembalikan, dan pengendalian pengecualian.

See all articles