IOS 알고리즘 (기초 편) --- 재 구축 매트릭스
예:
입력 nums = [1, 2], [3, 4] r = 1, c = 4
출력 [1, 2, 3, 4]]
해석 줄 이 nums 를 옮 겨 다 니 는 결 과 는 [1, 2, 3, 4] 입 니 다.새로운 행렬 은 1 * 4 행렬 로 이전 요소 값 한 줄 한 줄 로 새 행렬 을 채 웁 니 다.
입력 nums = [1, 2], [3, 4] r = 2, c = 4 출력 [[1, 2], [3, 4]]]
해석 은 2 * 2 행렬 을 2 * 4 행렬 로 바 꿀 방법 이 없다.그래서 출력 원 매트릭스.
생각:
폭력 법
제목 의 뜻 은 이해 하기 어렵 지 않다. 우 리 는 제목 의 뜻 에 따라 기계 적 으로 번역 할 수 있다.
1. nums 요소 의 개수 와 r, c 요소 의 개수 가 같 는 지 판단 ① 다 르 고 ② 를 직접 제거 하 며 새 배열 을 반복 적 으로 삽입 합 니 다.
번역 되 지 않 은 버 전
class Solution {
func matrixReshape(_ nums: [[Int]], _ r: Int, _ c: Int) -> [[Int]] {
let sum = nums[0].count * nums.count, target = r * c
if sum != target {
return nums
}
var result:[[Int]] = [], temp:[Int] = []
for arr in nums {
for j in arr {
temp.append(j)
if temp.count == c {
result.append(temp)
temp.removeAll()
}
}
}
return result
}
}
번역 판
class Solution {
func matrixReshape(_ nums: [[Int]], _ r: Int, _ c: Int) -> [[Int]] {
// nums , r,c
let sum = nums[0].count * nums.count, target = r * c
//
if sum != target {
return nums
}
// ,
// temp
var result:[[Int]] = [], temp:[Int] = []
for arr in nums {
for j in arr {
// j nums
// temp j
temp.append(j)
// temp" ",
if temp.count == c {
result.append(temp)
temp.removeAll()
}
}
}
//
return result
}
}
제목 출처: 버튼 (LeetCode) 감사 버튼 아빠:) IOS 알고리즘 모음 집 주소
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.