>  기사  >  웹 프론트엔드  >  JavaScript 프로그램: 이진 행렬에서 1과 0의 집합 수 계산

JavaScript 프로그램: 이진 행렬에서 1과 0의 집합 수 계산

WBOY
WBOY앞으로
2023-08-24 17:01:05786검색

JavaScript 프로그램: 이진 행렬에서 1과 0의 집합 수 계산

이진 행렬은 이름에서 알 수 있듯이 1과 0의 두 숫자로만 구성된 행렬입니다. 이 글에서는 개념을 더 잘 이해하기 위해 코드와 적절한 설명을 살펴보겠습니다. 이 튜토리얼에서는 주어진 이진 행렬에서 1과 0의 집합을 계산하는 JavaScript 프로그램을 작성합니다.

문제 소개

이 문제에서는 이진 행렬이 주어지고 동일한 값을 포함하는 행 또는 열의 집합을 찾아야 합니다. 집합은 행이나 열의 동일한 요소를 포함하는 경우 단일 값일 수도 있고 크기에 제한이 없을 수도 있습니다. 예를 들어

다음과 같은 2개의 행과 3개의 열로 구성된 이진 행렬이 있습니다. -

으아악

1과 0의 세트 수는 다음과 같이 계산할 수 있습니다.

  • 크기 1세트 − 행렬의 모든 셀은 그 자체로 별개의 세트이며 총 6개의 셀이 있습니다.

  • SETS OF SIZE 2 - 두 번째 행의 처음 두 열의 값이 동일하고, 두 번째와 세 번째 열의 값도 동일하며, 동일한 값의 크기 2 세트가 2개 있습니다. 첫 번째 줄에는 집합으로 간주될 수 있는 1이 두 개 더 있습니다

  • 크기 3의 컬렉션 - 행렬에서 가능한 최대 컬렉션 크기는 행과 열의 최대 크기이며 여기서는 3입니다. 단, 사이즈는 같은 값의 세트가 없습니다.

그래서 사이즈 1, 2, 3에 각각 6, 3, 0 세트를 사용할 수 있습니다. 따라서 궁극적으로 우리의 대답은 9가 될 것입니다.

방법

이전 섹션에서는 유사한 요소의 수를 얻기 위해 특정 행이나 열에만 집중해야 한다는 점을 살펴보았습니다. 또한 수학적 개념을 사용하여 존재하는 다양한 크기의 세트 수를 계산합니다. 특정 행이나 열.

예를 들어, 연속된 1의 총 개수 x개가 있는 경우 1부터 x까지 다양한 크기의 1 세트의 총 개수는 순열에서 나옵니다.

이 접근 방식으로 넘어가겠습니다 –

  • 먼저 0과 1이 포함된 배열 또는 주어진 이진 행렬을 얻습니다.

  • 매개변수로 전달된 행렬에 대해 필요한 답을 자동으로 계산하고 그 답을 반환 값으로 반환하는 함수를 만들어 보겠습니다.

  • 이 함수에서는 배열 또는 이진 행렬을 한 번은 행으로, 두 번째는 열로 두 번 반복합니다.

  • for 루프에서는 두 개의 변수를 유지 관리합니다. 하나는 1의 수를 저장하고 다른 하나는 0의 수를 저장합니다.

  • 단일 행이나 열을 반복한 후 위에 표시된 수식을 사용하여 답변을 업데이트하고 해당 답변을 변수에 저장합니다.

  • 마지막으로 행*열을 두 번 추가했기 때문에 답변에서 행*열을 제거하여 답변을 반환합니다.

행을 반복할 때 2개의 0과 1의 단일 값이 세트에 추가되고 열을 반복할 때 다시 추가되므로 행 * 열을 제거했습니다.

Example

의 중국어 번역은 다음과 같습니다:

Example

개념을 더 잘 이해하기 위해 위 단계의 구현을 살펴보겠습니다. -

으아악

시간과 공간의 복잡성

위 코드의 시간 복잡도는 O(N*N)입니다. 여기서 N은 주어진 행렬의 최대 행과 열 수입니다.

추가 공간을 사용하지 않으므로 코드의 공간 복잡도는 O(1)입니다.

결론

이 튜토리얼에서는 주어진 이진 행렬에서 1과 0의 집합 수를 계산하는 JavaScript 프로그램을 작성하는 방법을 배웠습니다. 이진 행렬은 이름에서 알 수 있듯이 1과 0 두 개의 숫자만 포함하는 행렬입니다. 해당 코드의 시간 복잡도는 O(N*N)이고 공간 복잡도는 O(1)입니다.

위 내용은 JavaScript 프로그램: 이진 행렬에서 1과 0의 집합 수 계산의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 tutorialspoint.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제