首页 > 编程语言 >算法 - 螺旋矩阵 II

算法 - 螺旋矩阵 II

时间:2022-08-31 16:58:24浏览次数:69  
标签:int res 矩阵 while II ++ 算法 num &&

59. 螺旋矩阵 II 这道题困扰了我很久,一些边界值控制比较繁琐,但是偶然发现按照以下方法写,在Leetcode可以AC。

class Solution {
    public static int[][] generateMatrix(int n) {
        int num = 1;
        int x = 0;
        int y = 0;
        int[][] res = new int[n][n];
        //判断下一个是不是0,如果是。那么就要“转弯”了
        while(num < n * n){
            while(y < n - 1 && res[x][y + 1] == 0){
                res[x][y] = num++;
                y++;
            }
            while(x < n - 1 && res[x + 1][y] == 0){
                res[x][y] = num++;
                x++;
            }
            while(y > 0 && res[x][y - 1] == 0){
                res[x][y] = num++;
                y--;
            }
            while(x > 0 && res[x - 1][y] == 0){
                res[x][y] = num++;
                x--;
            }
        }
        //最后一个特殊处理,因为不能通过下一个是否是零来判断
        //所以while循环的判断条件是num < n * n
        res[x][y] = num;
        return res;
    }
}

在此记录一下,以防以后忘记。

标签:int,res,矩阵,while,II,++,算法,num,&&
From: https://www.cnblogs.com/jonil/p/16643635.html

相关文章

  • Gosper's Hack 算法
    XIN队算法之枚举组合.枚举组合的一个非递归做法叫Gosper'sHack算法,思路就是对每个组合,用01串表示其选或不选,这样必然可以表示所有组合.我们考虑如何生成一个组合......
  • 字节对齐算法
    字节对齐算法字节对齐是在分配内存时需要考虑的问题,两个小算法:(1)最容易想到的算法:1unsignedintcalc_align(unsignedintn,unsignedalign)2{3if(n/......
  • 问题 N: Number Multiplication --Pollard-Rho算法质因数分解
    问题N:NumberMultiplication题意:给你m个M点,n个N点,M都是质数,N是和它相连的M的乘积,然后告诉你每个N点的值,求M点直接对每个N分解质因数即可,测试欧拉筛筛到4e7再......
  • SP1557 GSS2 - Can you answer these queries II
    SP1557GSS2-CanyouanswerthesequeriesII题目大意给出\(n\)个数,\(q\)次询问,求最大子段和,相同的数只算一次。分析看到一个区间内相同的数只能算一次,经验告诉......
  • 机器学习和 Python 中的贷款偿还预测(决策树算法)。
    机器学习和Python中的贷款偿还预测(决策树算法)。资源→我需要了解我的客户是否会归还他们从我的银行获得的贷款。问题陈述:-使用python中的决策树算法预测客户是否......
  • 使用js实现5种加密解密算法(凯撒密码、字母倒排序、单表置换、维基利亚、转换加密算法
    在学习操作系统的时候,我们会学到系统安全的章节,而在这一块会有关于加密解密算法的学习。一共有5种常见的加密解密算法:凯撒密码、字母倒排序、单表置换、维基利亚、转换加......
  • Python中的搜索算法。 #Python 系列 - 9
    Python中的搜索算法。#Python系列-9所以到目前为止,我们已经学习了python的基础知识。但是,我们从未见过这些基本原理的应用。在本文中,我们将看到两种处理在列表中搜索......
  • 了解拉普拉斯矩阵的工作原理第 2 部分
    了解拉普拉斯矩阵的工作原理第2部分Photoby马里奥拉·格罗贝尔斯卡on不飞溅与拉普拉斯矩阵相关的格和的渐近评估(arXiv)作者:阿尔祖博伊萨尔,法提赫·埃......
  • 使用 JavaScript Map Method 组合 mongo 查询的算法
    使用JavaScriptMapMethod组合mongo查询的算法假设您有大量数据,并且您想查找选定品牌的特定产品,例如尼卡化妆品和一个特定的类别,例如润唇膏从中。你的代码看起来......
  • 机器学习和 Python 中的决策树算法
    机器学习和Python中的决策树算法→决策树是一种树形算法,用于确定行动过程,树的每个分支代表一个可能的决策、发生或反应。让我们看一下术语:-熵——熵是数据集中“随......