C++
LeetCode
Medium
把矩陣轉置然後後鏡像
#include <vector>
#include "cout.h"
void rotate(vector<vector<int>>& matrix);
int main()
{
vector<vector<int>> matrix = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
coutVectorVector(matrix);
rotate(matrix);
coutVectorVector(matrix);
return 0;
}
void rotate(vector<vector<int>>& matrix)
{
int n = matrix.size();
int tmp = 0;
/* transpose */
for(int i = 0; i < n; i++)
{
for(int j = 0; j < i; j++)
{
tmp = matrix[i][j];
matrix[i][j] = matrix[j][i];
matrix[j][i] = tmp;
}
}
/* mirror */
for(int i = 0; i < n; i++)
{
for(int j = 0; j < n / 2; j++)
{
tmp = matrix[i][j];
matrix[i][j] = matrix[i][n - 1 - j];
matrix[i][n - 1 - j] = tmp;
}
}
return;
}
1 - 100 1. Two Sum 2. Add Two Numbers 3. Longest Substring Without Repeating Characters 5. Longest Palindromic Substring 6. Zigzag Conversion 7. Reverse Integer 8. String to Integer (atoi) 9. Palindrome Number
Dec 1, 2022Notes vector 裡存的是路徑行經的檔案夾名稱 往下一層資料夾往下走就 push 進 vector 如果遇到 .. 就把尾端的檔案夾名稱 pop 掉 Code #include <vector> #include <string> #include "cout.h"
Nov 30, 2022Notes 向右轉 k 個代表倒數第 k 個 node 要做新的 head 第 k - 1 個 node 要成為新的尾端, next 指向 null 原本的尾端變成一個普通的 node, next 指向原本的 head Code #include "cout.h" ListNode* rotateRight(ListNode* head, int k);
Nov 29, 2022Notes 使用 DP + memo 可以避免重複計算 memo[x][y] 指的是從位置 (0, 0) 到位置 (x, y) 所需要花費的最少的錢 Code #include <vector> #include <algorithm> #include <climits> #include "cout.h"
Nov 29, 2022or
By clicking below, you agree to our terms of service.
New to HackMD? Sign up