Rumah > pembangunan bahagian belakang > C++ > Ditulis dalam C++, cari bilangan segmen di mana semua elemen lebih besar daripada X

Ditulis dalam C++, cari bilangan segmen di mana semua elemen lebih besar daripada X

王林
Lepaskan: 2023-09-10 09:29:13
ke hadapan
695 orang telah melayarinya

Ditulis dalam C++, cari bilangan segmen di mana semua elemen lebih besar daripada X

Dalam artikel ini, kita perlu mencari bilangan segmen atau sub-tatasusunan dalam urutan tertentu yang lebih besar daripada nombor X tertentu.

Kita boleh mengira segmen bertindih sekali sahaja, dua elemen atau segmen bersebelahan tidak boleh dikira secara berasingan. Jadi inilah contoh asas masalah yang diberikan −

Input : arr[ ] = { 9, 6, 7, 11, 5, 7, 8, 10, 3}, X = 7
Output : 3
Explanation : { 9 }, { 11 } and { 8, 10 } are the segments greater than 7

Input : arr[ ] = { 9, 6, 12, 2, 11, 14, 8, 14 }, X = 8
Output : 4
Explanation : { 9 }, { 12 }, { 11, 14 } and { 14 } are the segments greater than 8
Salin selepas log masuk

Cara untuk mencari penyelesaian

Cara naif

Dalam masalah ini kita memulakan pembolehubah nyatakan dengan 0 dan mula memproses tatasusunan yang diberikan dan apabila kita mendapati lebih besar daripada Apabila unsur X ditemui, tukar keadaan kepada 1 dan teruskan memproses elemen apabila nombor kurang daripada atau sama dengan

Contoh

#include <bits/stdc++.h>
using namespace std;
int main (){
    int a[] = { 9, 6, 12, 2, 11, 14, 8, 14 };
    int n = sizeof (a) / sizeof (a[0]);
    int X = 8;
    int state = 0;
    int count = 0;
    // traverse the array
    for (int i = 0; i < n; i++){
        // checking whether element is greater than X
        if (a[i] > X){
           state = 1;
        }
        else{
           // if flag is true
           if (state)
               count += 1;
            state = 0;
        }
    }
    // checking for the last segment
    if (state)
        count += 1;
    cout << "Number of segments where all elements are greater than X: " << count;
    return 0;
}
Salin selepas log masuk

Output

Number of segments where all elements are greater than X: 4
Salin selepas log masuk

Penerangan program di atas

Dalam atur cara di atas, kami menggunakan keadaan sebagai suis dan menetapkannya kepada 1 apabila nombor yang lebih besar daripada X ditemui dan menetapkannya apabila nombor yang lebih besar daripada Cari nombor kurang daripada atau sama dengan Akhir sekali, cetak hasil yang disimpan dalam kiraan.

Kesimpulan h2>

Dalam artikel ini, kami menyelesaikan masalah mencari bilangan segmen di mana semua elemen lebih besar daripada X dengan menggunakan kaedah menetapkan keadaan kepada 1 dan 0 apabila segmen ditemui. Kita boleh menulis program ini dalam mana-mana bahasa pengaturcaraan lain seperti C, Java, Python, dll.

Atas ialah kandungan terperinci Ditulis dalam C++, cari bilangan segmen di mana semua elemen lebih besar daripada X. 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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan