博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
codewars020: The Clockwise Spiral 数字顺时针螺旋矩阵
阅读量:7232 次
发布时间:2019-06-29

本文共 1121 字,大约阅读时间需要 3 分钟。

hot3.png

//-- https://www.codewars.com/kata/536a155256eb459b8700077e/train/javapublic class TheClockwiseSpiral{  private static final int UP = 0;  private static final int DOWN = 1;  private static final int LEFT = 2;  private static final int RIGHT = 3;  public static int[][] createSpiral(int N){    int[][] data = new int[N][N];    int toward = RIGHT;    for(int num=1,i=0,j=0; num <= N*N; num++){      data[i][j] = num;      switch(toward){      case UP:        if(i == 0 || data[i - 1][j] != 0){          toward = RIGHT;          j++;        }else{          i--;        }        break;      case DOWN:        if(i == N - 1 || data[i + 1][j] != 0){          toward = LEFT;          j--;        }else{          i++;        }        break;      case LEFT:        if(j == 0 || data[i][j - 1] != 0){          toward = UP;          i--;        }else{          j--;        }        break;      case RIGHT:        if(j == N -1 || data[i][j + 1] != 0){          toward = DOWN;          i++;        }else{          j++;        }        break;        }    }    return data;  }}

Reference:

转载于:https://my.oschina.net/u/553266/blog/805882

你可能感兴趣的文章
【转】Effective-Objective-C-读书笔记-Item-4-如何正确定义常量 -- 不错
查看>>
JMS学习(六)--提高非持久订阅者的可靠性 以及 订阅恢复策略
查看>>
【Cocos2d-x游戏开发】Cocos2d-x中的数据存储技术
查看>>
CruiseControl.NET与TFS结合的配置文件
查看>>
实现高程点到等高线的转换
查看>>
atitit.事件驱动的总结attilax
查看>>
参加了iDOF2016会议,发表演讲“油田SOA与云平台的系统思考与实践”
查看>>
db_recovery_file_dest_size 修改大一点及删除归档日志 |转|
查看>>
集成 Union Pay - 银联支付
查看>>
Linux时间子系统之六:高精度定时器(HRTIMER)的原理和实现
查看>>
[Java]Java日期及时间库插件 -- Joda Time.
查看>>
Android AIDL 小结
查看>>
Google Authentication的实现 - Odoo 安全登录
查看>>
Atitit. 类与对象的存储实现
查看>>
LoadLibrary加载动态库失败的解决办法
查看>>
C# 一个特别不错的http请求类
查看>>
netbeans项目中排除node_modules文件夹
查看>>
NoSQL 简介及什么是AICD
查看>>
Android studio 配置file encoding 无效,中文乱码解决办法
查看>>
shell函数
查看>>