首页 > 其他分享 >代码随想录:螺旋矩阵 II

代码随想录:螺旋矩阵 II

时间:2024-11-17 15:09:53浏览次数:1  
标签:num int 随想录 矩阵 ++ II start vector res

代码随想录:螺旋矩阵 II

题目是不难的,本质是重复多次顺时针旋转,注意边界条件。

我第一次写错是二维数组的运用出了问题,vec[i][j]中,i代表行,j代表列,我的脑袋是明白的,但是在运用时,一开始二维矩阵向右遍历时,其实变的是j而非i

另外注意一下二维vector的建立就行

//二维vector数组本质上是一个存放了一维vector数组的vector
vector<vector<int>> res(n, vector<int>(n,0))
vector<数据类型>
vectoc(几个,什么东西)
class Solution {
public:
    vector<vector<int>> generateMatrix(int n) {
        vector<vector<int>> res(n, vector<int>(n, 0));
        int loop = n / 2;
        int target = n % 2;
        int start = 0;
        int end = n;
        int num = 1;
        int i = 0;
        int j = 0;

        if (target == 1) {
            res[loop][loop] = n * n;
        }

        while (loop > 0) {
            for (i = start; i < end - 1; i++) {
                res[start][i] = num;
                num++;
            }
            for (j = start; j < end - 1; j++) {
                res[j][end - 1] = num;
                num++;
            }
            for (; i > start; i--) {
                res[end - 1][i] = num;
                num++;
            }
            for (; j > start; j--) {
                res[j][start] = num;
                num++;
            }
            start++;
            end--;
            loop--;
        }
        return res;
    }
};

标签:num,int,随想录,矩阵,++,II,start,vector,res
From: https://www.cnblogs.com/huigugu/p/18550580

相关文章

  • 代码随想录:长度最小的子数组
    代码随想录:长度最小的子数组现在不像考研那时候,每天时间都是固定的,以后可能还是以周为单位定目标比较好一点滑动窗口问题,之后记得和计算机网络里的滑动窗口对比,并且和背包问题对比classSolution{public:intminSubArrayLen(inttarget,vector<int>&nums){i......
  • 代码随想录:开发商购买土地
    代码随想录:开发商购买土地纯铸币题目浪费时间,两个include记一下#include<climits>//INT_MAX#include<cmath>//min#include<iostream>#include<vector>#include<climits>#include<cmath>usingnamespacestd;intmain(){inta,b;cin>......
  • 数据结构与算法刷题(参考代码随想录结构,C、C++实现)
    目录数组数组理论基础二分查找移除元素有序数组的平方长度最小的子数组螺旋矩阵Ⅱ总结篇链表1.链表理论基础2.移除链表元素3.设计链表4.反转链表5.两两交换链表中的节点6.删除链表的倒数第N个节点7.链表相交8.环形链表Ⅱ9.总结篇哈希表1.哈希表理论基础2.有效的字母异位词3.两个数......
  • 实验二 数码管的静态和动态显示方法、矩阵式键盘扫描
    本文主要介绍了课本第5章第3、7节数码管与矩阵式键盘接口设计的实验,本节内容更侧重对原理的理解,可能会出简答题LED数码管的显示原理静态显示当LED位于静态显示时,无论多少位LED数码管都处于同时显示的状态,但1位数码管独占1个IO口实验一#include<reg51.h>#defineucharu......
  • 代码随想录算法训练营第四十七天|Day47 单调栈
    739.每日温度https://programmercarl.com/0739.%E6%AF%8F%E6%97%A5%E6%B8%A9%E5%BA%A6.html思路int*dailyTemperatures(int*temperatures,inttemperaturesSize,int*returnSize){int*answer=(int*)malloc(temperaturesSize*sizeof(int));int*sta......
  • 代码随想录算法训练营第四十八天|Day48 单调栈
    42.接雨水https://programmercarl.com/0042.%E6%8E%A5%E9%9B%A8%E6%B0%B4.html思路inttrap(int*height,intheightSize){intans=0;intleft=0,right=heightSize-1;intleftMax=0,rightMax=0;......
  • 54. 螺旋矩阵
    题目自己尝试了好几次,才通过了classSolution{public:vector<int>spiralOrder(vector<vector<int>>&matrix){vector<int>ans;intx=matrix.size(),y=matrix[0].size();intsx=0,ex=x-1,sy=0,ey=y-......
  • (nice!!!)(LeetCode) 3240. 最少翻转次数使二进制矩阵回文 II (分类讨论、数组)
    题目:3240.最少翻转次数使二进制矩阵回文II思路:分类讨论,需要对行和列的个数进行讨论,时间复杂度为0(nm),细节看注释。C++版本:classSolution{public:intminFlips(vector<vector<int>>&grid){intans=0;intn=grid.size(),m=grid[0].size();......
  • 【IEEE出版、八大高校联合举办、稳定EI检索】第四届人工智能与智能制造国际研讨会(AIIM
    第四届人工智能与智能制造国际研讨会(AIIM2024)The4thInternationalSymposiumonArtificialIntelligenceandIntelligentManufacturing2024年12月20-22日中国成都重要信息大会官网:www.isaiim.com大会时间:2024年12月20-22日大会地点:中国-成都二轮截......
  • 2024-11-16 特殊矩阵的压缩存储
    一、数组的存储结构1.一维数组:各元素大小相同,且物理上连续存放。a[i]=起始地址+i*siezof(数组元素大小)2.二维数组:b[j][j]=起始地址+(i*N+j)*sizeof(数组元素大小)二、特殊矩阵1.普通矩阵的存储:使用二维数组来存储。2.对称矩阵的压缩存储:若n阶方阵中任意一个元素aij都有ai......