前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >黄蓉填充九宫格

黄蓉填充九宫格

作者头像
一份执着✘
发布2018-08-02 16:05:53
6230
发布2018-08-02 16:05:53
举报
文章被收录于专栏:赵俊的Java专栏赵俊的Java专栏

题意

思路

这道题是面试某公司时遇到的一道题,当然思维有些混乱,没有解出来。

经过分析此题要点是边界处理,即向右上移动时,超出九宫格时的处理过程,右上冲突时向下移动不需要考虑边界问题,均未超出边界。

当时面试官的要求是不论语言,30 分钟输出九宫格,不需要边框样式。

代码实现

代码语言:javascript
复制
public static void main(String[] args) {
    int count = 1;
    int x = 0;
    int y = 1;
    int[][] arr = new int[3][3];

    arr[0][1] = 1;

    while (count < 9) {
        int[] index = getIndex(arr, x, y);
        x = index[0];
        y = index[1];
        arr[x][y] = ++count;
    }
    System.out.println(Arrays.toString(arr[0]));
    System.out.println(Arrays.toString(arr[1]));
    System.out.println(Arrays.toString(arr[2]));
}

public static int[] getIndex(int[][] arr, int x, int y) {
   int tempX = x - 1 < 0 ? 2 : x - 1;
   int tempY = y + 1 > 2 ? 0 : y + 1;

   if (arr[tempX][tempY] != 0) {
       return new int[]{x + 1, y};
   } else {
       return new int[]{tempX, tempY};
   }
}
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-07-072,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 题意
  • 思路
  • 代码实现
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档