Algorithm
旋转矩阵
class Solution {
public void rotate(int[][] matrix) {
if (matrix == null || matrix.length <= 1 || matrix[0].length <= 1) {
return;
}
int tR = 0;
int tC = 0;
int dR = matrix.length - 1;
int dC = matrix.length - 1;
while(tR < dR) {
rotateEdge(matrix, tR++, tC++, dR--, dC--);
}
}
public void rotateEdge(int[][] matrix, int tR, int tC, int dR, int dC) {
int times = dC - tC;
int tmp = 0;
for (int i = 0; i != times; i++) {
tmp = matrix[tR][tC + i];
matrix[tR][tC + i] = matrix[dR - i][tC];
matrix[dR - i][tC] = matrix[dR][dC - i];
matrix[dR][dC - i] = matrix[tR + i][dC];
matrix[tR + i][dC] = tmp;
}
}
}
Review
ChatGPT, for Android developers
主要讲身为Android开发者如何使用ChatGPT,和一些注意事项。。。
Tip
在学习插件化的时候,用到了动态代理,复习一下动态代理:
Share
本周主要是学习了《深入理解Kotlin协程》第五章,并在公司对第五章的后三节进行了分享;
学习了《Flutter实战·第二版》 前四章;
简单了解下插件化技术,主要是class文件加载,组件跳转,和资源加载。