国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

Spiral Matrix

2019-11-14 22:26:26
字體:
來源:轉載
供稿:網友
Spiral Matrix

題目:

Given a matrix of m x n elements (m rows, n columns), return all elements of the matrix in spiral order.

For example,Given the following matrix:

[ [ 1, 2, 3 ], [ 4, 5, 6 ], [ 7, 8, 9 ] ]You should return[1,2,3,6,9,8,7,4,5].

算法分析:

逐次取得數組螺旋取值位,然后將值賦給新數組。

所以重點是如何確定下一位數組的取值位。

代碼: (細節見注釋)

import java.lang.reflect.Array;import java.util.Arrays;import java.util.Scanner;import java.util.regex.Matcher;import java.util.regex.Pattern;public class Spiral {public static void main(String[] argv){int min; int num=0;Scanner in=new Scanner(System.in);int m=Integer.parseInt(in.nextLine());      //獲取行int n=Integer.parseInt(in.nextLine());      //獲取列String [][] k,y;k=new String [m][];y=new String [m][];      //矩陣數組for(int i=0;i<m;i++){k[i]=new String[n];y[i]=new String[n];}for(int i=0;i<m;i++){k[i]=in.nextLine().split(" ");}min=m>n? n:m;                         //取行列最小值來確定螺旋圈數System.out.PRintln(min);for(int i=0; i<(min+1)/2;i++){//System.out.println("A");              //上:從左到右for(int j=i;j<=n-1-i;j++){//System.out.println(k[i][j]);int u=num/n;int v=num%n;y[u][v]=k[i][j];num++;}//System.out.println("B");             //右:從上到下for(int p=i+1;p<m-1-i;p++){//System.out.println(k[p][n-1-i]);int u=num/n;int v=num%n;y[u][v]=k[p][n-1-i];num++;}//System.out.println("C");            //下:從右向左for (int q=n-1-i;q>=i;q--){           if(!(i==m-1-i)){              //最后一圈僅一行時,“下:從右向左”與“上:從左向右”重合//System.out.print(k[m-1-i][q]);int u=num/n;int v=num%n;y[u][v]=k[m-1-i][q];num++;}}//System.out.println("D");for(int r=m-1-i-1;r>i;r--){          //左:從下向上if(!(i==n-1-i)){             //最后一圈僅一列時,特殊情況,“左:從下向上”和“右:從上到下”重合。//System.out.println(k[r][i]);int u=num/n;int v=num%n;y[u][v]=k[r][i];num++;}}}for(int i=0;i<m;i++){for(int j=0;j<n;j++){System.out.print(y[i][j]+" ");}System.out.println();}}}

  效果圖:


上一篇:Effective Java

下一篇:POI解析excel

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 通江县| 临海市| 兰西县| 普兰县| 武冈市| 堆龙德庆县| 霍邱县| 武穴市| 常州市| 哈巴河县| 南华县| 大宁县| 静安区| 巫山县| 阿坝| 桓仁| 米林县| 房产| 美姑县| 浮山县| 凤凰县| 聂荣县| 遂昌县| 同心县| 义马市| 布拖县| 嵩明县| 望奎县| 铁力市| 嘉善县| 延津县| 西畴县| 阳东县| 慈利县| 娄底市| 马边| 保定市| 永新县| 紫金县| 自贡市| 襄樊市|