목차
해결 방법
Example
Output
위 코드 설명
효율적인 방법
위의 코드 설명
결론
백엔드 개발 C++ C++를 사용하여 최소값과 최대값이 동일한 하위 배열의 수를 찾는 코드를 작성하세요.

C++를 사용하여 최소값과 최대값이 동일한 하위 배열의 수를 찾는 코드를 작성하세요.

Aug 25, 2023 pm 11:33 PM
수량 최대값 최소값 c 프로그래밍 하위 배열

C++를 사용하여 최소값과 최대값이 동일한 하위 배열의 수를 찾는 코드를 작성하세요.

이 기사에서는 C++를 사용하여 최대값과 최소값이 동일한 하위 배열의 개수를 찾는 문제를 해결해 보겠습니다. 다음은 이 문제의 예입니다. −

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

해결 방법

예를 들어, 배열의 크기와 동일한 최소 및 최대 요소를 사용하여 최소 개수의 하위 배열을 구성할 수 있다고 말할 수 있습니다. 연속된 숫자가 동일한 경우 하위 배열의 수가 더 커질 수 있습니다.

따라서 각 요소를 순회하여 연속된 숫자가 동일한지 확인하는 방법을 사용할 수 있습니다. 연속된 숫자가 동일한 경우 개수를 늘리면 내부 루프를 중단합니다.

내부 루프가 끝나거나 중단될 때마다 결과 변수가 증가하고 마지막으로 결과 변수가 표시됩니다.

p>

Example

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

위 코드 설명

이 코드에서는 n개 이상의 하위 배열을 구성할 수 있으므로 배열의 크기, 결과 = n을 저장하기 위해 n 변수를 사용합니다. 그리고 같은 숫자로 계산된 개수입니다.

외부 루프는 배열의 각 요소를 처리하는 데 사용됩니다. 내부 루프는 인덱스 요소 뒤에 몇 개의 연속된 동일한 숫자가 있는지 찾는 데 사용되며 내부 루프의 끝에서는 결과 변수와 함께 count 변수를 증가시킵니다. 마지막으로 result 변수에 저장된 출력이 표시됩니다.

효율적인 방법

이 방법에서는 각 요소를 반복하고 각 요소에 대해 연속된 동일한 숫자가 몇 개 있는지 검색합니다. 동일한 숫자가 발견될 때마다 count 변수를 증가시키고, 다른 숫자가 발견되면 "n = n*(n+1)/2" 공식을 사용하여 얼마나 많은 하위 배열을 형성할 수 있는지 알아냅니다. 결과 변수를 증가시킵니다.

Example

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

위의 코드 설명

이 코드에서는 임시 변수에 배열의 0번째 인덱스를 저장하고 인덱스 1부터 루프를 시작합니다. 임시 변수가 현재 인덱스의 요소와 같은지 확인하고 발견된 동일한 숫자에 대해 개수를 1씩 증가시킵니다. 임시 변수가 인덱스 요소와 같지 않으면 같은 수를 세어 파생할 수 있는 하위 배열의 조합을 찾아 그 결과를 결과 변수에 저장합니다. 임시 값을 현재 인덱스로 변경하고 개수를 1로 재설정합니다. 마지막으로 결과 변수에 저장된 답변을 표시합니다.

결론

이 글에서는 최소 요소와 최대 요소가 동일한 하위 배열의 개수를 찾는 문제를 해결했습니다. 우리는 또한 이 문제를 해결하기 위한 C++ 프로그램과 이 문제를 해결하는 완전한 방법(정상적이고 효율적인)을 배웠습니다. C, Java, Python 및 기타 언어와 같은 다른 언어로 동일한 프로그램을 작성할 수 있습니다. 이 기사가 도움이 되기를 바랍니다.

위 내용은 C++를 사용하여 최소값과 최대값이 동일한 하위 배열의 수를 찾는 코드를 작성하세요.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

math.Max ​​함수를 사용하여 숫자 집합에서 최대값을 구하세요. math.Max ​​함수를 사용하여 숫자 집합에서 최대값을 구하세요. Jul 24, 2023 pm 01:24 PM

숫자 집합에서 최대값을 구하려면 math.Max ​​함수를 사용하세요. 수학과 프로그래밍에서는 숫자 집합에서 최대값을 찾아야 하는 경우가 많습니다. Go 언어에서는 Math 패키지의 Max 함수를 사용하여 이 함수를 구현할 수 있습니다. 이 글에서는 math.Max ​​함수를 사용하여 숫자 집합에서 최대값을 구하는 방법을 소개하고 해당 코드 예제를 제공합니다. 먼저, math 패키지를 가져와야 합니다. Go 언어에서는 아래와 같이 import 키워드를 사용하여 패키지를 가져올 수 있습니다.

지식을 늘려보세요! 논리적 규칙을 사용한 머신러닝 지식을 늘려보세요! 논리적 규칙을 사용한 머신러닝 Apr 01, 2023 pm 10:07 PM

정밀도-재현율 곡선에서는 동일한 점이 서로 다른 축으로 표시됩니다. 경고: 왼쪽의 첫 번째 빨간색 점(0% 재현율, 100% 정밀도)은 0개 규칙에 해당합니다. 왼쪽의 두 번째 점이 첫 번째 규칙입니다. Skope-rules는 트리 모델을 사용하여 규칙 후보를 생성합니다. 먼저 몇 가지 의사결정 트리를 구축하고 루트 노드에서 내부 노드 또는 리프 노드까지의 경로를 규칙 후보로 고려합니다. 그런 다음 이러한 후보 규칙은 정밀도 및 재현율과 같은 사전 정의된 기준에 따라 필터링됩니다. 정밀도와 재현율이 임계값을 초과하는 항목만 유지됩니다. 마지막으로, 다양성이 충분한 규칙을 선택하기 위해 유사성 필터링이 적용됩니다. 일반적으로 Skope-rule은 각 문제의 근본 원인을 학습하는 데 적용됩니다.

OpenOOD 업데이트 v1.5: 포괄적이고 정확한 배포되지 않은 감지 코드 라이브러리 및 테스트 플랫폼, 온라인 순위 및 원클릭 테스트 지원 OpenOOD 업데이트 v1.5: 포괄적이고 정확한 배포되지 않은 감지 코드 라이브러리 및 테스트 플랫폼, 온라인 순위 및 원클릭 테스트 지원 Jul 03, 2023 pm 04:41 PM

OOD(Out-of-distribution) 감지는 개방형 지능형 시스템의 안정적인 작동을 위해 매우 중요하지만 현재의 객체 지향 감지 방법은 "평가 불일치"(평가 불일치)로 인해 어려움을 겪고 있습니다. 이전 작업 OpenOODv1은 OOD 감지 평가를 통합했지만 여전히 확장성과 유용성에 한계가 있습니다. 최근 개발팀은 이전 버전과 비교하여 OpenOODv1.5를 다시 한번 제안했으며, 새로운 OOD 탐지 방법 평가는 정확성, 표준화 및 사용자 친화성을 보장하는 데 있어 크게 향상되었습니다. 이미지 용지: https://arxiv.org/abs/2306.09301OpenOODCodebase:htt

C++를 사용하여 N번째 제곱수가 아닌 숫자를 찾는 코드를 작성하세요. C++를 사용하여 N번째 제곱수가 아닌 숫자를 찾는 코드를 작성하세요. Aug 30, 2023 pm 10:41 PM

우리 모두는 2, 3, 5, 7, 8 등과 같이 어떤 숫자의 제곱도 아닌 숫자를 알고 있습니다. N개의 정사각형이 아닌 숫자가 있으며 모든 숫자를 아는 것은 불가능합니다. 그래서 이 글에서는 제곱이 없는 숫자나 제곱이 아닌 숫자에 대한 모든 것과 C++에서 N번째 제곱이 아닌 숫자를 찾는 방법을 설명할 것입니다. N번째 비제곱수 어떤 숫자가 정수의 제곱인 경우, 그 숫자를 완전제곱수라고 합니다. 완전제곱수의 몇 가지 예는 다음과 같습니다. -1issquareof14issquareof29issquareof316issquareof425issquareof5 숫자가 정수의 제곱이 아닌 경우 해당 숫자를 제곱이 아닌 숫자라고 합니다. 예를 들어, 처음 15개의 정사각형이 아닌 숫자는 -2,3,5,6입니다.

Java에서 런타임이 제공하는 매개변수 수를 찾는 방법은 무엇입니까? Java에서 런타임이 제공하는 매개변수 수를 찾는 방법은 무엇입니까? Sep 23, 2023 pm 01:13 PM

Java에서 런타임 시 매개변수를 전달하는 한 가지 방법은 명령줄이나 터미널을 사용하는 것입니다. 명령줄 매개변수에 대한 이러한 값을 검색할 때 런타임 시 사용자가 제공한 매개변수 수를 찾아야 할 수 있으며, 이는 길이 속성의 도움으로 얻을 수 있습니다. 이 기사에서는 샘플 프로그램을 사용하여 사용자가 제공한 여러 매개변수를 전달하고 가져오는 프로세스를 설명하는 것을 목표로 합니다. 런타임 시 사용자가 제공한 인수 수 가져오기 명령줄 인수 수를 찾기 전에 첫 번째 단계는 사용자가 런타임 시 인수를 전달할 수 있는 프로그램을 만드는 것입니다. String[] 매개변수 Java 프로그램을 작성할 때 main() 메소드를 자주 접하게 됩니다. JVM이 이 메소드를 호출하면 Java 애플리케이션이 실행되기 시작합니다. String[]args라는 인수와 함께 사용됩니다.

C++로 작성된 배열의 오른쪽 회전을 위한 반전 알고리즘 C++로 작성된 배열의 오른쪽 회전을 위한 반전 알고리즘 Sep 08, 2023 pm 08:17 PM

이 기사에서는 주어진 배열을 k 요소만큼 오른쪽으로 회전하는 반전 알고리즘에 대해 알아봅니다(예: −Input:arr[]={4,6,2,6,43,7,3,7}). k= 4 출력:{43,7,3,7,4,6,2,6}설명: 배열의 각 요소를 4개 요소별로 오른쪽으로 회전하면 {43,7,3,7,4,6,2,6}이 됩니다.입력:arr[]= {8 ,5,8,2,1,4,9,3},k=3출력:{4,9,3,8,5,8,2,1} 해결책 찾기

C 프로그래밍에서 원의 넓이 구하기 C 프로그래밍에서 원의 넓이 구하기 Aug 25, 2023 pm 10:57 PM

원은 닫힌 그림입니다. 원의 모든 점은 원 내부의 점에서 등거리에 있습니다. 중심점을 원의 중심이라고 합니다. 한 점에서 원의 중심까지의 거리를 반지름이라고 합니다. 면적은 닫힌 그림의 크기 범위를 정량적으로 표현한 것입니다. 원의 면적은 원의 치수 내에 둘러싸인 면적입니다. 원의 면적을 계산하는 공식, Area=π*r*r 면적을 계산하기 위해 원의 반경을 입력으로 주고 공식을 사용하여 면적을 계산합니다. 알고리즘 STEP1: Takeradiusasinputfromtheuserusingstdinput.STEP2 : 원의 면적을 계산합니다. 면적=(

Linux 명령: Telnet 프로세스 수를 확인하는 방법 Linux 명령: Telnet 프로세스 수를 확인하는 방법 Mar 01, 2024 am 11:39 AM

Linux 명령은 시스템 관리자의 일상 작업에 없어서는 안 될 도구 중 하나입니다. 다양한 시스템 관리 작업을 완료하는 데 도움이 될 수 있습니다. 운영 및 유지 관리 작업에서 문제를 발견하고 적시에 조정하기 위해 시스템의 특정 프로세스 수를 확인해야 하는 경우가 있습니다. 이번 글에서는 리눅스 명령어를 이용해 텔넷 프로세스 개수를 확인하는 방법을 소개하겠습니다. 함께 배워볼까요? Linux 시스템에서는 grep 명령과 함께 ps 명령을 사용하여 텔넷 프로세스 수를 볼 수 있습니다. 먼저 터미널을 열어야 합니다.

See all articles