목차
무차별 대입 방법
Example
Output
위의 코드 설명
효율적인 방법
위 코드 설명
결론
백엔드 개발 C++ C++를 사용하여 합계가 홀수인 하위 배열의 수를 찾는 코드를 작성하세요.

C++를 사용하여 합계가 홀수인 하위 배열의 수를 찾는 코드를 작성하세요.

Sep 21, 2023 am 08:45 AM
수량 하위 배열 홀수합

C++를 사용하여 합계가 홀수인 하위 배열의 수를 찾는 코드를 작성하세요.

하위 배열은 배열의 연속된 부분입니다. 예를 들어 배열 [5, 6, 7, 8]을 고려하면 (5), (6), (7), (8), (5, 6)과 같이 비어 있지 않은 하위 배열 10개가 있습니다. ), (6,7), (7,8), (5,6,7), (6,7,8) 및 (5,6,7,8).

이 가이드에서는 C++에서 합이 홀수인 하위 배열의 수를 찾는 데 가능한 모든 정보를 설명합니다. 합계가 홀수인 하위 배열의 수를 찾으려면 다양한 방법을 사용할 수 있으므로 여기에 간단한 예가 있습니다. -

Input : array = {9,8,7,6,5}
Output : 9

Explanation :
Sum of subarray -
{9} = 9
{7} = 7
{5} = 5
{9,8} = 17
{8,7} = 15
{7,6} = 13
{6,5} = 11
{8,7,6} = 21
{9,8,7,6,5} = 35
로그인 후 복사

무차별 대입 방법

이 방법을 사용하면 모든 하위 배열의 요소 합계가 짝수인지 간단히 확인할 수 있습니다. 또는 홀수이면 하위 배열을 거부하고 합계가 홀수인 하위 배열을 계산합니다. 이 코드의 복잡성은 O(n2)이므로 이는 효율적인 방법이 아닙니다.

Example

#include <bits/stdc++.h>
using namespace std;
int main(){
    int n=5, temp = 0;
    int a[n-1] = { 9,8,7,6,5 } ; // declaring our array.
    int cnt = 0; // counter variable.
    for(int i = 0; i < n; i++){
        temp = 0; // refreshing our temp sum.
        for(int j = i; j < n; j++){ // this loop will make our subarrays starting from i till n-1.
            temp = temp + a[j];
            if( temp % 2 == 1 )
                cnt++;
        }
    }
    cout << "Number of subarrays with odd sum : " << cnt << "\n";
    return 0;
}
로그인 후 복사

Output

Number of subarrays with odd sum : 9
로그인 후 복사
로그인 후 복사

위의 코드 설명

이 코드에서는 중첩 루프가 사용됩니다. 여기서 외부 루프는 I의 값을 증가시키는 데 사용되며 I는 배열의 시작 부분부터 각 값을 가리킵니다. ; 내부 루프는 " i " 위치에서 시작하는 홀수 합계를 갖는 하위 배열을 찾는 데 사용됩니다.

효율적인 방법

이 방법에서는 배열의 0번째 위치부터 모든 요소를 ​​처리합니다. 현재 요소가 홀수이면 홀수 카운터를 늘리고 각 짝수에 대해 짝수 카운터를 증가시킵니다. 홀수를 찾으면 하위 배열에 홀수를 추가하면 패리티가 변경되고 마지막으로 결과에 개수가 추가되므로 짝수와 홀수 값이 교환됩니다. 이 코드의 복잡도는 각 요소를 처리하기 때문에 O(n)입니다.

Example

 
#include <bits/stdc++.h>
using namespace std;
int main(){
    int odd = 0, even = 0,  result = 0,n=5,i,temp;
    int arr[ n-1 ] = { 9,8,7,6,5}; // initialising the array
     // for loop for processing every element of array
    for ( i = 0 ; i < n ; i ++ )  {
        if ( arr[ i ] % 2 == 0 ) {
            even++;
        } else {
          // swapping even odd values
            temp = even;
            even = odd;
            odd = temp + 1;
        }
        result += odd;
    }
    cout << "Number of subarrays with odd sum : " << result;
}
로그인 후 복사

Output

Number of subarrays with odd sum : 9
로그인 후 복사
로그인 후 복사

위 코드 설명

이 코드에서는 각 요소의 짝수/홀수를 확인하고 짝수에는 짝수 카운터, 홀수에는 홀수 카운터를 증가시킵니다. 또한 홀수가 발견되면 패리티 카운터 값을 교환하고, 그렇지 않으면 하위 배열의 패리티를 변경합니다. 그런 다음 각 반복 후에 홀수 카운터의 값을 결과 변수에 추가합니다.

결론

이 기사에서는 합이 홀수인 하위 배열에 대해 Brute에서 숫자 강제 변환 방법을 찾고, 합이 홀수인 각 하위 배열을 생성하고 개수를 늘리는 방법을 설명했습니다. 이 코드의 시간 복잡도는 O(n2)입니다. 이를 수행하는 효율적인 방법은 배열의 각 요소를 반복하고 발견된 각 홀수/짝수에 대해 홀수/짝수 카운터 변수를 증가시키고, 홀수가 발견되면 카운터를 교체하는 것입니다. 이 코드의 시간 복잡도는 O( N). 이 글이 문제와 해결책을 이해하는 데 도움이 되기를 바랍니다.

위 내용은 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. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

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

SublimeText3 중국어 버전

SublimeText3 중국어 버전

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

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

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

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

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

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

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

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

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

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

Java에서는 주어진 쿼리를 기반으로 배열을 하위 배열로 분할한 후 하위 배열의 최대 하위 배열 합계를 찾습니다. Java에서는 주어진 쿼리를 기반으로 배열을 하위 배열로 분할한 후 하위 배열의 최대 하위 배열 합계를 찾습니다. Aug 29, 2023 am 11:21 AM

두 개의 정수 배열이 있습니다. 하나는 계산된 요소가 있고 다른 하나는 배열을 분할하여 하위 집합을 생성하는 데 필요한 분할 점이 있습니다. 각 분할에서 각 하위 집합의 합을 계산하고 최대 하위 집합을 반환해야 합니다. 예제를 살펴보겠습니다. 이해: - 입력 −intarr[]=intarr[]={9,4,5,6,7}intsplitPoints[]={0,2,3,1} 출력−각 분할 후 최대 하위 배열 합계 [ 22, 13,9,9] 설명 − 여기서는 분할 지점에 따라 배열을 분해하고 각 분할 후와 첫 번째 분할 후 최대 부분 집합을 얻습니다. → {9} 및 {4,5,6,7 }>>최대 합계 하위 배열의 수는 두 번째 분할 후 -22입니다.→{9},{4

1과 N 사이의 모든 홀수의 합을 계산하는 C++ 프로그램 1과 N 사이의 모든 홀수의 합을 계산하는 C++ 프로그램 Sep 06, 2023 pm 08:05 PM

계열의 합을 구하는 것은 프로그래밍과 논리 구성을 배울 때 가장 간단한 연습 작업 중 하나입니다. 수학에서는 다른 계열에 존재하는 계열의 합을 구하는 방법이 있습니다. 프로그래밍에서는 논리를 구현하여 하나씩 생성하고 반복적으로 추가하여 합계를 얻거나 필요에 따라 다른 작업을 수행합니다. 이번 글에서는 C++를 이용하여 N까지의 모든 홀수의 합을 구하는 기법을 소개하겠습니다. 이 금액을 구하는 방법에는 두 가지가 있지만 약간의 변형이 있습니다. 이 방법들을 하나씩 살펴보겠습니다. 알고리즘은 숫자 N으로 제한됩니다. 합계를 0으로 초기화합니다. i의 범위는 1부터 N까지입니다. 내가 홀수라면, 그럼. 합계:=합계+i. 종료된 경우. 합계를 표시합니다. 예#include<iostre

C++를 사용하여 최소값과 최대값이 동일한 하위 배열의 수를 찾는 코드를 작성하세요. C++를 사용하여 최소값과 최대값이 동일한 하위 배열의 수를 찾는 코드를 작성하세요. Aug 25, 2023 pm 11:33 PM

이번 글에서는 C++를 이용하여 최대값과 최소값이 같은 부분배열의 개수를 찾는 문제를 해결해보겠습니다. 다음은 문제의 예입니다. −Input:array={2,3,6,6,2,4,4,4}Output:12Explanation:{2},{3},{6},{6}, {2 },{4},{4},{4},{6,6},{4,4},{4,4}및{4,4,4}는 동일한 최대 및 최소 요소로 구성할 수 있는 하위 배열입니다.입력:배열={3, 3, 1,5,

C++를 사용하여 N-진 트리를 탐색하는 방법의 수 찾기 C++를 사용하여 N-진 트리를 탐색하는 방법의 수 찾기 Sep 04, 2023 pm 05:01 PM

N-ary 트리가 주어지면 우리의 임무는 트리를 통과하는 총 방법 수를 찾는 것입니다. 예를 들어 위 트리의 경우 출력은 192입니다. 이 문제를 풀려면 조합론에 대한 지식이 필요합니다. 이제 이 문제에서 우리는 각 경로의 가능한 모든 조합을 확인하면 되며 이것이 답을 줄 것입니다. 솔루션을 찾는 방법 이 방법에서는 계층 순회를 수행하고 각 노드에 자식 노드가 몇 개 있는지 확인한 다음 답과 계승 곱하면 됩니다. 위 메서드 #include&lt;bits/stdc++.h&gt;usingnamespacestd;structNode{//s의 C++ 코드 예

See all articles