Kedudukan leksikografi rentetan binari
Dalam artikel ini, kami akan meneroka masalah menarik yang melibatkan rentetan binari dan susunan leksikografi. Tugas kami adalah untuk mencari kedudukan leksikografi rentetan binari yang diberikan. Kami akan menunjukkan penyelesaian kami menggunakan C++, bahasa pengaturcaraan popular yang terkenal dengan kecekapan dan fleksibilitinya.
Fahami susunan kamus
Susunan kamus (juga dipanggil susunan abjad atau susunan kamus) ialah susunan perkataan dalam susunan abjad mengikut huruf konstituennya.
Pernyataan Masalah
Memandangkan rentetan binari, kita perlu menentukan kedudukan leksikografinya antara semua pilihatur. Kedudukan leksikografi rentetan ialah kedudukannya dalam set semua pilihatur apabila ia disenaraikan secara leksikografi.
Kaedah penyelesaian
Pendekatan kami merangkumi langkah utama berikut−
Initialize Count − Mulakan pembilang untuk menyimpan nombor '1' dalam rentetan binari.
Pengiraan kedudukan − Merentasi rentetan binari secara berulang dari kiri ke kanan. Jika aksara semasa ialah '1', hitung kedudukannya menggunakan formula gabungan dan kurangkan pembilang untuk setiap '1' berikutnya.
Keputusan Pulangan− Hasilnya ialah susunan leksikografi rentetan binari.
Pelaksanaan C++
Contoh
Kod C++ di bawah menggariskan penyelesaian kami−
#include <bits/stdc++.h> using namespace std; // Function to calculate factorial int fact(int n) { int res = 1; for (int i = 1; i <= n; i++) res *= i; return res; } // Function to find lexicographic rank of a binary string int lexRank(string str) { int rank = 1; int onesCount = count(str.begin(), str.end(), '1'); for (char c : str) { if (c == '1') { onesCount--; rank += fact(onesCount); } } return rank; } int main() { string str = "110"; int result = lexRank(str); cout << "Lexicographic rank of the binary string: " << result << endl; return 0; }
Output
Lexicographic rank of the binary string: 3
Penjelasan
ialah:Penjelasan
Pertimbangkan rentetan binari −
str = "110"
Permutasi dan gabungan rentetan binari ini ialah: "011", "101", "110". Dalam susunan leksikografi, pilih atur ini ialah: "011", "101", "110".
Rentetan binari "110" mempunyai pangkat 3 dan ini adalah output program kami.
Kesimpulan
Masalah mencari kedudukan leksikografi rentetan binari adalah masalah yang sangat menarik yang berdasarkan pemahaman kami tentang rentetan binari, pilih atur dan susunan leksikografi. Penyelesaian yang dilaksanakan dalam C++ ini menunjukkan cara kita boleh menggunakan binaan pengaturcaraan asas untuk menyelesaikan masalah ini dengan cekap.
Atas ialah kandungan terperinci Kedudukan leksikografi rentetan binari. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

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

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Tajuk: Bagaimana untuk menentukan sama ada rentetan berakhir dengan aksara tertentu dalam Golang Dalam bahasa Go, kadangkala kita perlu menentukan sama ada rentetan berakhir dengan aksara tertentu Ini adalah perkara biasa semasa memproses rentetan. Artikel ini akan memperkenalkan cara menggunakan bahasa Go untuk melaksanakan fungsi ini dan memberikan contoh kod untuk rujukan anda. Mula-mula, mari kita lihat cara untuk menentukan sama ada rentetan berakhir dengan aksara tertentu dalam Golang. Aksara dalam rentetan dalam Golang boleh diperoleh melalui pengindeksan, dan panjang rentetan itu boleh

Aritmetik binari ialah kaedah operasi berdasarkan nombor binari Operasi asasnya termasuk penambahan, penolakan, pendaraban dan pembahagian. Selain operasi asas, aritmetik binari juga termasuk operasi logik, operasi anjakan dan operasi lain. Operasi logik termasuk DAN, ATAU, NOT dan operasi lain, dan operasi anjakan termasuk operasi anjakan kiri dan anjakan kanan. Operasi ini mempunyai peraturan dan keperluan operan yang sepadan.

Bahasa Go ialah bahasa pengaturcaraan yang berkuasa dan fleksibel yang menyediakan fungsi pemprosesan rentetan yang kaya, termasuk pemintasan rentetan. Dalam bahasa Go, kita boleh menggunakan kepingan untuk memintas rentetan. Seterusnya, kami akan memperkenalkan secara terperinci cara memintas rentetan dalam bahasa Go, dengan contoh kod khusus. 1. Gunakan penghirisan untuk memintas rentetan Dalam bahasa Go, anda boleh menggunakan ungkapan menghiris untuk memintas sebahagian daripada rentetan. Sintaks ungkapan slice adalah seperti berikut: slice:=str[start:end]where, s

Penjelasan terperinci tentang kaedah menukar jenis int kepada rentetan dalam PHP Dalam pembangunan PHP, kita sering menghadapi keperluan untuk menukar jenis int kepada jenis rentetan. Penukaran ini boleh dicapai dalam pelbagai cara Artikel ini akan memperkenalkan beberapa kaedah biasa secara terperinci, dengan contoh kod khusus untuk membantu pembaca memahami dengan lebih baik. 1. Gunakan fungsi terbina dalam PHP strval(). PHP menyediakan fungsi terbina dalam strval() yang boleh menukar pembolehubah jenis yang berbeza kepada jenis rentetan. Apabila kita perlu menukar jenis int kepada jenis rentetan,

1. Mula-mula buka pycharm dan masukkan halaman utama pycharm. 2. Kemudian buat skrip python baru, klik kanan - klik baru - klik pythonfile. 3. Masukkan rentetan, kod: s="-". 4. Kemudian anda perlu mengulang simbol dalam rentetan sebanyak 20 kali, kod: s1=s*20 5. Masukkan kod output cetakan, kod: print(s1). 6. Akhir sekali jalankan skrip dan anda akan melihat nilai pulangan kami di bahagian bawah: - diulang 20 kali.

Bagaimana untuk menyemak sama ada rentetan bermula dengan aksara tertentu dalam Golang? Apabila pengaturcaraan di Golang, anda sering menghadapi situasi di mana anda perlu menyemak sama ada rentetan bermula dengan aksara tertentu. Untuk memenuhi keperluan ini, kita boleh menggunakan fungsi yang disediakan oleh pakej rentetan di Golang untuk mencapainya. Seterusnya, kami akan memperkenalkan secara terperinci cara menggunakan Golang untuk menyemak sama ada rentetan bermula dengan aksara tertentu, dengan contoh kod tertentu. Di Golang, kita boleh menggunakan HasPrefix daripada pakej rentetan

Kaedah untuk menyelesaikan masalah aksara Cina yang kacau apabila menukar rentetan perenambelasan dalam PHP Dalam pengaturcaraan PHP, kadangkala kita menghadapi situasi di mana kita perlu menukar rentetan heksadesimal kepada aksara Cina biasa. Walau bagaimanapun, dalam proses penukaran ini, kadangkala anda akan menghadapi masalah aksara Cina yang kacau. Artikel ini akan memberi anda kaedah untuk menyelesaikan masalah aksara Cina yang bercelaru apabila menukar perenambelasan kepada rentetan dalam PHP dan memberikan contoh kod khusus. Gunakan fungsi hex2bin() untuk penukaran heksadesimal PHP terbina dalam fungsi hex2bin() boleh menukar 1

Bagaimana untuk membaca fail binari di Golang? Fail binari ialah fail yang disimpan dalam bentuk binari yang mengandungi data yang boleh dikenali dan diproses oleh komputer. Di Golang, kita boleh menggunakan beberapa kaedah untuk membaca fail binari dan menghuraikannya ke dalam format data yang kita inginkan. Berikut akan memperkenalkan cara membaca fail binari di Golang dan memberikan contoh kod tertentu. Pertama, kita perlu membuka fail binari menggunakan fungsi Buka dari pakej os, yang akan mengembalikan objek fail. Kemudian kita boleh buat
