


Tulis kod menggunakan C++ untuk mencari bilangan subarray dengan nilai minimum dan maksimum yang sama
Dalam artikel ini, kami akan menggunakan C++ untuk menyelesaikan masalah mencari bilangan sub-array yang nilai maksimum dan minimumnya adalah sama. Berikut adalah contoh masalah ini −
Input : array = { 2, 3, 6, 6, 2, 4, 4, 4 } Output : 12 Explanation : {2}, {3}, {6}, {6}, {2}, {4}, {4}, {4}, {6,6}, {4,4}, {4,4} and { 4,4,4 } are the subarrays which can be formed with maximum and minimum element same. Input : array = { 3,3,1,5,1,2,2 } Output : 9 Explanation : {3}, {3}, {1}, {5}, {1}, {2}, {2}, {3,3} and {2,2} are the subarrays which can be formed with minimum and maximum are the same.
Cara menyelesaikannya
Dengan contoh, kita boleh katakan bahawa bilangan minimum sub-tatasusunan boleh dibentuk menggunakan elemen minimum dan maksimum yang sama bersamaan dengan saiz tatasusunan. Bilangan subarray boleh menjadi lebih besar jika nombor berturut-turut adalah sama.
Jadi, kita boleh menggunakan kaedah melintasi setiap elemen dan menyemak sama ada nombor berturut-turut adalah sama, jika nombor berturut-turut adalah sama, jika nombor yang berbeza ditemui, ganggu gelung dalam.
Setiap kali gelung dalam tamat atau terganggu, pembolehubah hasil dinaikkan dan akhirnya pembolehubah hasil dipaparkan.
p>
Contoh
#include <bits/stdc++.h> using namespace std; int main(){ int a[ ] = { 2, 4, 5, 3, 3, 3 }; int n = sizeof(a) / sizeof(a[0]); int result = n, count =0; for (int i = 0; i < n; i++) { for (int j = i+1; j < n; j++) { if(a[i]==a[j]) count++; else break; } result+=count; count =0; } cout << "Number of subarrays having minimum and maximum elements same:" << result; return 0; }
Output
Number of subarrays having minimum and maximum elements same: 9 Time complexity = O(n<sup>2</sup>).
Penjelasan kod di atas
Dalam kod ini, kami menggunakan pembolehubah n untuk menyimpan saiz tatasusunan, hasil = n, kerana sekurang-kurangnya n sub-tatasusunan boleh dibentuk dan bilangan yang dikira sama.
Gelung luar digunakan untuk memproses setiap elemen dalam tatasusunan. Gelung dalam digunakan untuk mencari bilangan nombor yang sama berturut-turut selepas elemen indeks dan pada penghujung gelung dalam ia menambah pembolehubah kiraan bersama-sama dengan pembolehubah hasil. Akhirnya output yang disimpan dalam pembolehubah hasil dipaparkan.
Kaedah yang cekap
Dalam kaedah ini kita mengulangi setiap elemen dan untuk setiap elemen kita mencari bilangan nombor yang sama berturut-turut. Bagi setiap nombor yang sama ditemui, kami menambah pembolehubah kiraan dan apabila nombor yang berbeza ditemui, ketahui berapa banyak subarray boleh dibentuk menggunakan formula "n = n*(n+1)/2" Tambah pembolehubah hasil.
Contoh
#include <bits/stdc++.h> using namespace std; int main(){ int a[] = { 2, 4, 5, 3, 3, 3 }; int n = sizeof(a) / sizeof(a[0]); int result = 0; int count =1,temp=a[0]; for (int i = 1; i < n; i++) { if (temp==a[i]){ count++; } else{ temp=a[i]; result = result + (count*(count+1)/2); count=1; } } result = result + (count*(count+1)/2); cout << "Number of subarrays having minimum and maximum elements same:" << result; return 0; }
Output
Number of subarrays having minimum and maximum elements same: 9 Time complexity : O(n)
Penerangan kod di atas
Dalam kod ini, kami menyimpan indeks ke-0 tatasusunan dalam pembolehubah temp dan memulakan gelung dari indeks 1. Kami menyemak sama ada pembolehubah temp adalah sama dengan elemen pada indeks semasa dan menambah kiraan sebanyak 1 untuk nombor yang sama ditemui. Jika pembolehubah temp tidak sama dengan elemen indeks, kita dapati gabungan subarray yang boleh diperoleh dengan mengira nombor yang sama dan menyimpan hasilnya dalam pembolehubah hasil. Kami menukar nilai sementara kepada indeks semasa, menetapkan semula kiraan kepada 1. Akhir sekali, kami memaparkan jawapan yang disimpan dalam pembolehubah hasil.
Kesimpulan
Dalam artikel ini, kami menyelesaikan masalah untuk mencari bilangan subarray yang elemen minimum dan maksimumnya adalah sama. Kami juga mempelajari program C++ untuk menyelesaikan masalah ini dan cara lengkap untuk menyelesaikan masalah ini (biasa dan cekap). Kita boleh menulis program yang sama dalam bahasa lain seperti C, java, python dan bahasa lain. Semoga artikel ini bermanfaat kepada anda.
Atas ialah kandungan terperinci Tulis kod menggunakan C++ untuk mencari bilangan subarray dengan nilai minimum dan maksimum yang sama. 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

AI Hentai Generator
Menjana ai hentai secara percuma.

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



Gunakan fungsi math.Max untuk mendapatkan nilai maksimum dalam set nombor Dalam matematik dan pengaturcaraan, selalunya perlu mencari nilai maksimum dalam set nombor. Dalam bahasa Go, kita boleh menggunakan fungsi Max dalam pakej matematik untuk mencapai fungsi ini. Artikel ini akan memperkenalkan cara menggunakan fungsi math.Max untuk mendapatkan nilai maksimum dalam set nombor, dan memberikan contoh kod yang sepadan. Pertama, kita perlu mengimport pakej matematik. Dalam bahasa Go, anda boleh menggunakan kata kunci import untuk mengimport pakej, seperti yang ditunjukkan di bawah: import"mat

Pengesanan luar pengedaran (OOD) adalah penting untuk pengendalian sistem pintar dunia terbuka yang boleh dipercayai, tetapi kaedah pengesanan berorientasikan objek semasa mengalami "ketidakkonsistenan penilaian" (ketidakkonsistenan penilaian). Kerja sebelumnya OpenOODv1 menyatukan penilaian pengesanan OOD, tetapi masih mempunyai batasan dalam skalabilitas dan kebolehgunaan. Baru-baru ini, pasukan pembangunan sekali lagi mencadangkan OpenOODv1.5 Berbanding dengan versi sebelumnya, penilaian kaedah pengesanan OOD baharu telah dipertingkatkan dengan ketara dalam memastikan ketepatan, penyeragaman dan kemesraan pengguna. Kertas Imej: https://arxiv.org/abs/2306.09301OpenOODCodebase:htt

Pada lengkung ingat-kepersisan, titik yang sama diplot dengan paksi yang berbeza. Amaran: Titik merah pertama di sebelah kiri (0% ingat, 100% ketepatan) sepadan dengan 0 peraturan. Titik kedua di sebelah kiri ialah peraturan pertama, dan seterusnya. Skope-rules menggunakan model pokok untuk menjana calon peraturan. Mula-mula bina beberapa pepohon keputusan dan pertimbangkan laluan dari nod akar ke nod dalaman atau nod daun sebagai calon peraturan. Peraturan calon ini kemudiannya ditapis oleh beberapa kriteria yang telah ditetapkan seperti ketepatan dan ingat semula. Hanya mereka yang mempunyai ketepatan dan ingatan di atas ambang mereka dikekalkan. Akhir sekali, penapisan persamaan digunakan untuk memilih peraturan dengan kepelbagaian yang mencukupi. Secara umum, Skope-rules digunakan untuk mengetahui punca setiap perkara

Kita semua tahu nombor yang bukan kuasa dua mana-mana nombor, seperti 2, 3, 5, 7, 8, dll. Terdapat N nombor bukan persegi, dan adalah mustahil untuk mengetahui setiap nombor. Jadi, dalam artikel ini, kami akan menerangkan segala-galanya tentang nombor tanpa kuasa dua atau bukan kuasa dua dan cara untuk mencari nombor bukan kuasa dua N dalam C++. Nombor bukan kuasa dua ken Jika nombor ialah kuasa dua integer, maka nombor itu dipanggil kuasa dua sempurna. Beberapa contoh nombor kuasa dua sempurna ialah -1isquareof14issquareof29issquareof316issquareof425issquareof5 Jika nombor bukan kuasa dua mana-mana integer, maka nombor itu dipanggil bukan kuasa dua. Sebagai contoh, 15 nombor bukan kuasa dua yang pertama ialah -2,3,5,6,

Di Java, satu cara untuk menghantar parameter semasa runtime adalah dengan menggunakan baris arahan atau terminal. Apabila mendapatkan semula nilai ini untuk parameter baris arahan, kita mungkin perlu mencari bilangan parameter yang disediakan oleh pengguna pada masa jalan, yang boleh dicapai dengan bantuan atribut panjang. Artikel ini bertujuan untuk menerangkan proses lulus dan mendapatkan bilangan hujah yang dibekalkan pengguna dengan bantuan program sampel. Dapatkan bilangan argumen yang disediakan oleh pengguna pada masa jalankan Sebelum mencari bilangan argumen baris arahan, langkah pertama kami ialah mencipta program yang membolehkan pengguna menghantar argumen pada masa jalankan. Parameter string[] Semasa menulis atur cara Java, kita sering menemui kaedah main(). Apabila JVM memanggil kaedah ini, aplikasi Java mula melaksanakan. Ia digunakan dengan hujah yang dipanggil String[]args

Dalam artikel ini, kita akan mempelajari tentang algoritma pembalikan untuk memutar tatasusunan yang diberikan ke kanan dengan elemen k, contohnya −Input:arr[]={4,6,2,6,43,7,3,7}, k= 4Output:{43,7,3,7,4,6,2,6}Penjelasan:Pusingeachelementofarrayby4-elementtotherightmemberi{43,7,3,7,4,6,2,6}.Input:arr[]= {8 ,5,8,2,1,4,9,3},k=3Output:{4,9,3,8,5,8,2,1} Cari penyelesaian

Bulatan ialah rajah tertutup. Semua titik pada bulatan adalah sama jarak dari titik di dalam bulatan. Titik tengah dipanggil pusat bulatan. Jarak dari satu titik ke pusat bulatan dipanggil jejari. Luas ialah perwakilan kuantitatif bagi rentang dimensi bagi rajah tertutup. Luas bulatan ialah kawasan yang tertutup dalam dimensi bulatan. Formula untuk mengira luas bulatan, Luas=π*r*r Untuk mengira luas, kami memberikan jejari bulatan sebagai input, kami akan menggunakan formula untuk mengira luas, algoritma LANGKAH1: Takeradiusasinputfromtheuserusingstdinput.STEP2 : Kirakaluas bulatan, luas=(

Perintah Linux adalah salah satu alat yang sangat diperlukan dalam kerja harian pentadbir sistem. Ia boleh membantu kami menyelesaikan pelbagai tugas pengurusan sistem. Dalam kerja operasi dan penyelenggaraan, kadangkala perlu menyemak bilangan proses tertentu dalam sistem untuk mengesan masalah dan membuat pelarasan dalam masa. Artikel ini akan memperkenalkan cara menggunakan arahan Linux untuk menyemak bilangan proses telnet, mari kita belajar bersama. Dalam sistem Linux, kita boleh menggunakan arahan ps digabungkan dengan arahan grep untuk melihat bilangan proses telnet. Pertama, kita perlu membuka terminal,
