> 백엔드 개발 > C++ > C++로 작성되었으며 모든 요소가 X보다 큰 세그먼트 수를 찾습니다.

C++로 작성되었으며 모든 요소가 X보다 큰 세그먼트 수를 찾습니다.

王林
풀어 주다: 2023-09-10 09:29:13
앞으로
646명이 탐색했습니다.

C++로 작성되었으며 모든 요소가 X보다 큰 세그먼트 수를 찾습니다.

이 문서에서는 주어진 숫자 X보다 큰 주어진 시퀀스의 세그먼트 또는 하위 배열 수를 찾아야 합니다.

겹치는 세그먼트는 한 번만 계산할 수 있으며, 두 개의 인접한 요소 또는 세그먼트는 별도로 계산하면 안 됩니다. 그래서 여기에 주어진 문제의 기본 예가 있습니다. −

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
로그인 후 복사

해결책을 찾는 방법

순진한 방법

이 문제에서 우리는 변수 state를 0으로 초기화하고 주어진 배열 처리를 시작합니다. X의 요소가 발견되면 상태를 1로 변경하고 숫자가 다음보다 작거나 같을 때 요소 처리를 계속합니다.

Example

#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;
}
로그인 후 복사

Output

Number of segments where all elements are greater than X: 4
로그인 후 복사

위 프로그램 설명

위 프로그램에서는 상태를 스위치로 사용하여 X보다 큰 숫자가 발견되면 1로 설정하고, 더 큰 숫자가 발견되면 1로 설정하고 있습니다. 보다 작거나 같은 숫자 찾기 마지막으로 count에 저장된 결과를 인쇄합니다.

결론 h2>

본 논문에서는 세그먼트를 찾을 때마다 상태를 1과 0으로 설정하는 방법을 적용하여 모든 요소가 X보다 큰 세그먼트의 수를 찾는 문제를 해결했습니다. C, Java, Python 등과 같은 다른 프로그래밍 언어로 이 프로그램을 작성할 수 있습니다.

위 내용은 C++로 작성되었으며 모든 요소가 X보다 큰 세그먼트 수를 찾습니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:tutorialspoint.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿