867. Transpose Matrix
题目文本会按所选界面语言从俄语翻译;代码保持不变。
Дан двумерный 整数 数组 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 已显示.
目前还没有活跃职位。