주어진 배열에서 크기 3의 반전을 계산하는 JavaScript 프로그램
이 튜토리얼에서는 주어진 배열에서 크기 3의 반전을 계산하는 방법을 배웁니다.
문제 설명 - 서로 다른 숫자 항목을 포함하는 길이 n의 배열이 제공됩니다. arr[i] > arr[j] > arr[k]인 크기 3의 숫자 쌍의 총 개수를 찾아야 합니다. 여기서 I
여기에서는 먼저 무차별 대입 방법을 배운 다음 시간과 공간 복잡성을 최적화하겠습니다.
무차별적인 방법을 사용하세요
무차별 접근 방식에서는 세 개의 중첩 for 루프를 사용하여 크기 3의 반전 개수를 찾습니다. 첫 번째 루프는 1개 요소부터 n-2개 요소까지 반복되고, 두 번째 루프는 i번째 요소부터 n-1번째 요소까지 반복됩니다. 이전 요소가 다음 요소보다 크면 배열을 반복하여 중간 요소보다 작은 요소를 찾습니다.
문법
사용자는 아래 구문에 따라 무차별 대입 방법을 사용하여 주어진 배열에서 크기 3의 반전을 계산할 수 있습니다.
으아아아알고리즘
1단계 - for 루프를 사용하여 첫 번째 n-2 요소를 반복합니다.
2단계 - 중첩된 for 루프를 사용하여 m+1에서 len-1 요소까지 반복합니다.
3단계 - 중첩된 for 루프에서 배열[m]이 배열[n]보다 큰지 확인합니다. 그렇다면 n+1번째 요소부터 마지막 요소까지 반복합니다.
4단계 - 0번째 인덱스의 요소가 n번째 인덱스의 요소보다 작으면 크기 3의 유효한 역쌍을 찾았다고 말하고 'cnt' 변수에서 1을 뺀 값을 증가시킵니다.
5단계 - for 루프의 모든 반복이 완료된 후 "cnt" 값을 반환합니다.
예 1
아래 예에서는 크기 3의 반전 쌍의 총 개수를 찾기 위해 무차별 대입 방법을 구현합니다.
주어진 배열에서 사용자는 출력에서 2개의 반전 쌍만 관찰할 수 있습니다. 첫 번째 반전 쌍은 (10,5,4)이고 두 번째 반전 쌍은 (20,5,4)입니다.
으아아아시간과 공간의 복잡성
Time Complexity - 세 개의 중첩된 for 루프를 사용하므로 시간 복잡도는 O(n^3)입니다.
Space Complexity - 일정한 공간을 사용할 때 공간 복잡도는 O(1)입니다.
두 개의 중첩된 for 루프를 사용하세요
이 방법에서는 두 개의 중첩 루프를 사용합니다. 현재 요소의 오른쪽에 있는 작은 요소의 총 개수와 왼쪽에 있는 큰 요소의 총 개수를 찾습니다. 그런 다음 두 개를 곱하여 특정 숫자에 대한 총 반전 수를 얻습니다.
문법
사용자는 아래 구문에 따라 두 개의 중첩 루프를 사용하여 JavaScript에서 크기 3의 반전을 계산할 수 있습니다.
으아아아알고리즘
1단계 - for 루프를 사용하여 배열의 n개 요소를 반복합니다.
2단계 - for 루프를 사용하여 현재 요소보다 작은 현재 요소 오른쪽에 있는 모든 요소를 찾습니다.
3단계 - for 루프를 다시 사용하여 현재 요소보다 큰 현재 요소 왼쪽의 모든 요소를 찾습니다.
4단계 - 왼쪽 변수와 오른쪽 변수의 값을 곱하여 "cnt" 변수에 추가합니다.
예 2
아래 예에서는 위 방법과 같이 두 개의 중첩 루프를 사용하여 크기 3의 총 반전 횟수를 찾습니다. 사용자는 출력이 첫 번째 방법과 동일하다는 것을 확인할 수 있습니다.
으아아아시간과 공간의 복잡성
Time Complexity - 두 개의 중첩 루프를 사용하므로 위 방법의 시간 복잡도는 O(n^2)입니다.
Space Complexity - 일정한 공간을 사용할 때 공간 복잡도는 O(1)입니다.
사용자는 주어진 배열에서 크기 3의 반전 개수를 찾는 두 가지 방법을 배웠습니다. 첫 번째 접근 방식에서는 무차별 접근 방식을 사용하여 문제를 해결했으며, 두 번째 접근 방식에서는 시간 복잡성을 줄이기 위해 솔루션을 더욱 최적화했습니다.
위 내용은 주어진 배열에서 크기 3의 반전을 계산하는 JavaScript 프로그램의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

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

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

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

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

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

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

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

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

뜨거운 주제











기사는 JavaScript 라이브러리 작성, 게시 및 유지 관리, 계획, 개발, 테스트, 문서 및 홍보 전략에 중점을 둡니다.

이 기사는 브라우저에서 JavaScript 성능을 최적화하기위한 전략에 대해 설명하고 실행 시간을 줄이고 페이지로드 속도에 미치는 영향을 최소화하는 데 중점을 둡니다.

프론트 엔드 개발시 프론트 엔드 열지대 티켓 인쇄를위한 자주 묻는 질문과 솔루션, 티켓 인쇄는 일반적인 요구 사항입니다. 그러나 많은 개발자들이 구현하고 있습니다 ...

이 기사는 브라우저 개발자 도구를 사용하여 효과적인 JavaScript 디버깅, 중단 점 설정, 콘솔 사용 및 성능 분석에 중점을 둡니다.

기술 및 산업 요구에 따라 Python 및 JavaScript 개발자에 대한 절대 급여는 없습니다. 1. 파이썬은 데이터 과학 및 기계 학습에서 더 많은 비용을 지불 할 수 있습니다. 2. JavaScript는 프론트 엔드 및 풀 스택 개발에 큰 수요가 있으며 급여도 상당합니다. 3. 영향 요인에는 경험, 지리적 위치, 회사 규모 및 특정 기술이 포함됩니다.

이 기사는 소스 맵을 사용하여 원래 코드에 다시 매핑하여 미니어링 된 JavaScript를 디버그하는 방법을 설명합니다. 소스 맵 활성화, 브레이크 포인트 설정 및 Chrome Devtools 및 Webpack과 같은 도구 사용에 대해 설명합니다.

Console.log 출력의 차이의 근본 원인에 대한 심층적 인 논의. 이 기사에서는 Console.log 함수의 출력 결과의 차이점을 코드에서 분석하고 그에 따른 이유를 설명합니다. � ...

엔트리 레벨 타입 스크립트 자습서를 마스터 한 후에는 TypeScript를 지원하고 JavaScript로 컴파일하는 IDE에서 자신의 코드를 작성할 수 있어야합니다. 이 튜토리얼은 TypeScript의 다양한 데이터 유형으로 뛰어납니다. JavaScript에는 NULL, UNDEFINED, BOOLEAN, 번호, 문자열, 기호 (ES6에 의해 소개 됨) 및 객체의 7 가지 데이터 유형이 있습니다. TypeScript는이 기반으로 더 많은 유형을 정의 하며이 튜토리얼은이 모든 튜토리얼을 자세히 다룹니다. 널 데이터 유형 JavaScript와 마찬가지로 Null in TypeScript
