Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

이진 행렬에서 중복 행을 찾는 Python 프로그램 작성

<시간/>

이진 행렬에 0과 1이 포함된 경우 우리의 임무는 중복 행을 찾아 인쇄하는 것입니다.

Python은 여기에 사용되는 Counter() 메서드를 제공합니다.

입력:1 1 1 10 0 0 01 1 1 10 0 0 0출력:(1, 1, 1, 1)(0, 0, 0, 0)

알고리즘

1단계:0과 1 요소만 존재하는 이진 행렬을 만듭니다. 2단계:행을 키로 갖고 빈도를 값으로 합니다. 목록은 변경 가능하므로 먼저 각 행(목록)을 튜플로 캐스트합니다. 3단계:카운터 메서드를 사용하여 사전을 만듭니다. 4단계:이제 사전을 완전히 탐색합니다. 5단계:빈도가 1보다 큰 모든 행을 인쇄합니다. .

예시 코드

# 컬렉션에서 이진 행렬에서 중복 행을 찾는 함수 import Counterdef binarymatrix(A):A =map(tuple,A) dic =Counter(A) print("Duplicate rows of Binary Matrix ::>") for ( i,j) in dic.items():if j>1:print (i) # 드라이버 프로그램 if __name__ =="__main__":A=[] n=int(input("Enter n for n x n matrix :") ) #3 here #2D 배열을 저장하기 위한 목록 사용 # 사용자 입력을 받아 목록에 저장합니다. (여기서는 IN :1 to 9) print("Enter the element ::>") for i in range(n):row=[] # j에 대한 행을 range(n)에 저장할 임시 목록:row.append(int(input())) #행 목록에 입력을 추가합니다. A.append(row) #목록에 행을 추가합니다. A) # [[1, 2, 3], [4, 5, 6], [7, 8, 9]] #2D 배열을 표시합니다. print("Display Array In Matrix Form") for i in range(n) :j in range(n):print(A[i][j], end=" ")print()binarymatrix(A)

출력

n x n 행렬에 n 입력 :4요소 입력 ::>1111000011110000[[1, 1, 1, 1], [0, 0, 0, 0], [1, 1, 1, 1], [0, 0, 0, 0]]행렬을 행렬 형식으로 표시1 1 1 10 0 0 01 1 10 0 0 0이진 행렬의 중복 행 ::>(1, 1, 1, 1)(0, 0, 0, 0)