Python 한 줄 코드 로 행렬 회전 문 제 를 해결 합 니 다.
행렬 을 입력 하고 외 향 에서 시계 방향 으로 순서대로 모든 숫자 를 출력 한다.예 를 들 어 다음 과 같은 4 X 4 행렬 을 입력 하면 1,2,3,8,12,16,15,14,13,9,9,10,6,7,11,10.
사고:큐 브 가 시계 반대 방향 으로 회전 하 는 방법 을 모 의 하여 첫 번 째 줄 을 꺼 내 는 작업 을 할 수 있 습 니 다.예 를 들 어:
1 2 3
4 5 6
7 8 9
pop 출력 을 이용 하여 첫 줄 을 삭제 한 후 시계 반대 방향 으로 회전 하면:
6 9
5 8
4 7
그리고 상술 한 조작 을 계속 반복 하면 된다.가장 중요 한 것 은 행렬 의 시계 반대 방향 조작 을 실현 하 는 것 이다.행렬 의 회전 에 관 해 서 는 여러 가지 가 있 습 니 다.전환,시계 방향,시계 반대 방향,아래 에 코드 를 직접 올 리 고 python 코드 로 이 세 가지 조작 을 실현 합 니 다.
매트릭스 전환:
matrix = [[1,2,3], [4,5,6], [7,8,9]]
matrix = map(list, zip(*matrix))
print(matrix)
>>>[[1, 4, 7], [2, 5, 8], [3, 6, 9]]
매트릭스 시계 방향 으로 회전:먼저 행렬 을 상하 로 뒤 집 은 다음 에 다시 돌려 라.
matrix = [[1,2,3], [4,5,6], [7,8,9]]
matrix[:] = map(list,zip(*matrix[::-1]))
print(matrix)
>>>[[7, 4, 1], [8, 5, 2], [9, 6, 3]]
매트릭스 시계 반대 방향 회전:먼저 행렬 을 돌려 놓 은 다음 에 상하 로 뒤 집 습 니 다.
matrix = [[1,2,3], [4,5,6], [7,8,9]]
matrix[:] = map(list,zip(*matrix))[::-1]
print(matrix)
>>>[[3, 6, 9], [2, 5, 8], [1, 4, 7]]
다음은 완전한 문제 풀이 코드 입 니 다.
# -*- coding:utf-8 -*-
class Solution:
# matrix ,
def printMatrix(self, matrix):
# write code here
result = []
while(matrix):
result += matrix.pop(0)
if not matrix or not matrix[0]:
break
#
matrix[:] = map(list, zip(*matrix))[::-1]
return result
이상 의 Python 한 줄 코드 가 행렬 의 회전 문 제 를 해결 하 는 것 은 바로 편집장 이 여러분 에 게 공유 한 모든 내용 입 니 다.여러분 에 게 참고 가 되 고 저희 도 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Python의 None과 NULL의 차이점 상세 정보그래서 대상 = 속성 + 방법 (사실 방법도 하나의 속성, 데이터 속성과 구별되는 호출 가능한 속성 같은 속성과 방법을 가진 대상을 클래스, 즉 Classl로 분류할 수 있다.클래스는 하나의 청사진과 같아서 하나의 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.