867. Transpose Matrix
선택한 UI 언어에 맞게 문제 텍스트를 러시아어에서 번역합니다. 코드는 변경하지 않습니다.
Дан двумерный 정수 배열 matrix, return его транспонированную матрицу.
Транспонированная матрица — это матрица, перевернутая относительно своей главной диагонали, при этом строки и столбцы меняются местами.
예제:
Input: matrix = [[1,2,3],[4,5,6],[7,8,9]]
Output: [[1,4,7],[2,5,8],[3,6,9]]
C# 해법
매칭됨/원본public class Solution {
public int[][] Transpose(int[][] A) {
int R = A.Length, C = A[0].Length;
int[][] ans = new int[C][];
for (int c = 0; c < C; ++c) {
ans[c] = new int[R];
for (int r = 0; r < R; ++r)
ans[c][r] = A[r][c];
}
return ans;
}
}
C++ 해법
자동 초안, 제출 전 검토#include <bits/stdc++.h>
using namespace std;
// Auto-generated C++ draft from the C# solution. Review containers, LINQ and helper types before submit.
class Solution {
public:
public int[][] Transpose(int[][] A) {
int R = A.size(), C = A[0].size();
int[][] ans = new int[C][];
for (int c = 0; c < C; ++c) {
ans[c] = new int[R];
for (int r = 0; r < R; ++r)
ans[c][r] = A[r][c];
}
return ans;
}
}
Java 해법
매칭됨/원본class Solution {
public int[][] transpose(int[][] A) {
int R = A.length, C = A[0].length;
int[][] ans = new int[C][R];
for (int r = 0; r < R; ++r)
for (int c = 0; c < C; ++c)
ans[c][r] = A[r][c];
return ans;
}
}
Go 해법
매칭됨/원본func transpose(A [][]int) [][]int {
R, C := len(A), len(A[0])
ans := make([][]int, C)
for c := 0; c < C; c++ {
ans[c] = make([]int, R)
for r := 0; r < R; r++ {
ans[c][r] = A[r][c]
}
}
return ans
}
Algorithm
Инициализируйте новую матрицу ans с размерами C x R, где C — количество столбцов в исходной матрице, а R — количество строк.
Скопируйте каждую запись исходной матрицы в новую матрицу так, чтобы ans[c][r] = matrix[r][c].
return матрицу ans.
😎
Vacancies for this task
활성 채용 with overlapping task tags are 표시됨.
아직 활성 채용이 없습니다.