1 题目描述

/**
 * 蛇形矩阵2
 * 
 * 输入4
 * 
 * 输出
 *  1 12 11 10
 *  2 13 16 9
 *  3 14 15 8
 *  4 5 6 7
 * 
 * 
 * */

2  java代码

package 公司面试.方欣科技;/***   蛇形矩阵2* *    输入4* *  输出*  1  12  11  10*  2  13  16  9*  3   14  15  8*  4   5   6   7* * * */public class SnakeMatrix2 {public void snakeMatrix2(int n){if(n < 1){System.out.println("请输入一个大于0的整数");return ; }int row=-1; // 矩阵横坐标int col=0; // 矩阵纵坐标int counter = 0; //计数器int[][] array = new int[n][n];//初始化矩阵int direction = 0; // direction 为方向 (0 向下 , 1 向右, 2 向上 , 3 向左)while( counter < n*n){counter++;//向下if( direction==0 && row+1 < n && array[row+1][col] ==0 ){row++;if(row==n-1 || array[row+1][col] !=0){direction = 1;  }}//向右else if(direction==1 && col+1 < n && array[row][col+1] ==0 ){col++;if(col==n-1 || array[row][col+1] !=0){direction = 2;  }}//向上else if(direction==2 && row-1 >= 0 && array[row-1][col] ==0 ){row--;if(row==0 || array[row-1][col] !=0){direction = 3;  }}//向左else if(direction==3 && col-1 >= 0 && array[row][col-1] ==0 ){col--;if(col==0 || array[row][col-1] !=0){direction = 0;  }}array[row][col] = counter;}this.show(array);}private void show(int v[][]){if(v==null||v.length==0) return ;for(int i = 0 ; i < v.length ; i++){if(i!=0) System.out.println();for(int j = 0 ; j < v.length ; j++){System.out.print(v[i][j]+"    ");}}}public static void main(String args[]){SnakeMatrix2 snakeMatrix = new SnakeMatrix2();snakeMatrix.snakeMatrix2(5);}
}

3 输出结果

方欣科技算法面试:蛇形矩阵2相关推荐

  1. 方欣科技算法题面试:蛇形矩阵

    1题目描述 样例输入 4 样例输出 1 3 6 102 5 9 4 8 7 2 java代码 //输入 //输入正整数N(N不大于100) // //输出 //输出一个N行的蛇形矩阵. // //样例 ...

  2. 金九银十北漂记第4篇:面试方欣科技

    求职平台的比较  2016年面试第一家公司要从方欣科技开始.第一次在拉钩上投简历,一下子投了三家,分别是:用友科技,广东道一和方欣科技.结果是:用友没有回应,广东道一简历被刷,方欣科技通过简历筛选,并 ...

  3. java蛇形矩阵_lt;算法gt;蛇形矩阵求解

    蛇形矩阵右下,下左,左上,上右,循环往复- 解题思路:在单步前进过程中, x与y, 只能有一个发生变化 每次转向, x与y会发生切换 切换后, x 与 y 都与上次的 方向相反( 第一步: x 增加, ...

  4. 招银网络科技算法面试

    1面 30min 0.自我介绍都没有,直接怼项目,说了无人机的 1.结果面试官问了地平线的那个...然后又说了一下实习的项目 2.问了alexnet,resnet等cnn的区别 3.cnn的细节,cn ...

  5. 旷世科技算法实习面经

    https://www.toutiao.com/a6656039742087365134/ 作者:丁宇 链接:https://www.nowcoder.com/discuss/153052 我的面试经 ...

  6. 蛇形矩阵(最简单算法及分析)

    蛇形矩阵这道算法题大家应该都遇到过,对于大部分初学者来说是一个比较难的题(包括博主),今天来分享一下解决这道题的简单算法(认真看就一定能看懂!!!) 首先我们来分析一下这道题目: 思路: 这样的矩阵我 ...

  7. 用python编写杨辉三角金字塔_用python实现三道简单算法题:杨辉三角,蛇形矩阵,金字塔...

    分享几道简单的python打印输出的问题,本质上都是可以将其分解成一个大循环之中有几个小循环. 1.杨辉三角 主要特点: 每个数等于它上方两数之和. 每行数字左右对称,由1开始逐渐变大. 每行端点与结 ...

  8. java算法 蛇形矩阵_算法基础之蛇形矩阵

    1.[代码][Java]代码 package com.mark.pratice; import java.util.*; /** * Created by markzuo on 15-5-18. */ ...

  9. 把握春招,收下这份GitHub万星的ML算法面试大全!

    来源:机器之心 本文约2380字,建议阅读7分钟. 在本项目中,作者为大家准备了 ML 算法工程师面试指南,它提供了完整的面试知识点.编程题及题解.各科技公司的面试题锦等内容. [导 读]春季到来,春 ...

最新文章

  1. python中的raw string的使用
  2. python 如何获取当前系统的时间
  3. HarmonyOS UI开发 AdaptiveBoxLayout(自适应盒子布局) 的使用
  4. move语句java_Oracle中的move命令
  5. oracle用户创建及权限设置
  6. c#基础,单线程,跨线程访问和线程带参数
  7. AcWing 3208. Z字形扫描
  8. 纽交所决定将蛋壳公寓ADS摘牌
  9. [ROS]1 小乌龟
  10. SpringBoot Maven repackage failed: Unable to find a single main class from the following candidates
  11. radon变换(c++、OpenCV实现)
  12. linux下木马程序病原体的制作和运行
  13. Ubuntu 好用的BT下载工具qBittorrent
  14. JavaScript的通用库与动画特效
  15. python求斜率_如何计算numpy中的斜率
  16. 用Python写一个拼音输入法
  17. 苹果怎么付费购买内存_苹果怎么清理隐藏内存?手机恢复如初都靠它了
  18. 均匀点云边界检测——密度查找(1/2)
  19. [游戏技术]VampireSurvivors PC版修改
  20. Unirech:阿里云国际版怎么获得免费试用的机会以及注册流程

热门文章

  1. 【PAT甲级 vector string排序】1047 Student List for Course (25 分) 含别人的做法
  2. JDK9的新特性:JVM的xlog
  3. 万万没想到,线程居然被饿死了!
  4. java list 转数组_数组转List,一定要小心这个坑!
  5. 分布式锁中的王者方案:Redisson
  6. springMVC注解中@RequestMapping中常用参数value params 以及@RequestParam 详解
  7. 使用velocity
  8. mybatis分页插件pageHelper简单实用
  9. CSS3属性——text
  10. 一站式服务!图片+代码-构建移动版旅游网站页面