义乌做网站多少钱,苏州网页制作电话,w10怎么做信任网站,服务商平台官网这题思路不难#xff0c;就是找规律太难了。
我首先的思路是一行一行来#xff0c;根据规律填入下一行的数组#xff0c;第i行是由前i个数字#xff08;n-2*i#xff09;个增序数列后i个数字组成#xff0c;后来觉得太难找规律了就换了一种思路。
思路大致是先计算出需…
这题思路不难就是找规律太难了。
我首先的思路是一行一行来根据规律填入下一行的数组第i行是由前i个数字n-2*i个增序数列后i个数字组成后来觉得太难找规律了就换了一种思路。
思路大致是先计算出需要循环的次数(n-1)/2通过一个循环由外到里依次填入数字每次填入都要调用四个独立循环→↓←↑这样填入
class Solution {
public:vectorvectorint generateMatrix(int n) {vectorint v(n,n*n);vectorvectorint result(n,v);int m(n1)/2;int j0;int t0;n--;while(m0){int i0;for(i;in;i) result[t][ti]ij1;for(i;in*2;i) result[i-nt][nt]ij1;for(i;in*3;i) result[nt][3*n-it]ij1;for(i;in*4;i) result[4*n-it][t]ij1;t;n-2;ji;m--;}return result;}
};
这里以为太绕了所以定义了很多数字m代表还需要循环嵌套m次t代表当前在嵌套第t次j代表新的循环从j开始计数n代表每次循环正方形的边长-1其实有些好像可以不要的。