LeetCode59——Spiral Matrix II

女爷i 2022-08-09 12:57 241阅读 0赞

LeetCode59——Spiral Matrix II

参考LeetCode54——Spiral Matrix

唯一不同,就是对二维数组按照这个顺序进行赋值操作:1,2,3,….n

代码:

  1. class Solution {
  2. public:
  3. vector<vector<int>> generateMatrix(int n) {
  4. //vector<int>temp(n);
  5. vector<vector<int>>matrix(n,vector<int>(n));
  6. int i;
  7. int count = n / 2;
  8. int j;
  9. int number = 1;
  10. int mod = n % 2;
  11. for (i = 0; i < count; i++)
  12. {
  13. for (int j = i; j < n - i - 1; j++)
  14. {
  15. matrix[i][j] = number++;
  16. }
  17. for (int j = i; j < n - 1 - i; j++)
  18. {
  19. matrix[j][n - 1 - i] = number++;
  20. }
  21. for (int j = n - i - 1; j >= i + 1; j--)
  22. {
  23. matrix[n - i - 1][j] = number++;
  24. }
  25. for (int j = n - 1 - i; j >= i + 1; j--)
  26. {
  27. matrix[j][i] = number++;
  28. }
  29. }
  30. if (mod == 1)
  31. matrix[count][count] = number;
  32. return matrix;
  33. }
  34. };

发表评论

表情:
评论列表 (有 0 条评论,241人围观)

还没有评论,来说两句吧...

相关阅读