日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字

發布時間:2024/10/14 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
/** 順時針打印* 1 2 3 4* 5 6 7 8* 9 10 11 12* 13 14 15 16* --->1 2 3 48 12 16 15 14 13 9 5 6 7 11 10*/ import java.util.ArrayList;public class Solution {public static void main(String[] args) {int[][] a= {{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}};ArrayList<Integer> arr=printMatrix(a);for(int i=0;i<arr.size();i++) {System.out.print(arr.get(i)+" ");}}public static ArrayList<Integer> printMatrix(int [][] matrix) {int hlen=matrix.length;//行數int llen=matrix[0].length;//列數boolean[][] flag=new boolean[hlen][llen];//標志位ArrayList<Integer> val=new ArrayList<Integer>();int i=0,j=0;//i是豎著————行標,j是橫著-——列標while((j+1<llen &&!flag[i][j+1])||(i>0&&!flag[i-1][j])||(i+1<hlen&&!flag[i+1][j])||(j>0&&!flag[i][j-1])) {//四個方向至少有一條是通的flag[i][j]=true;val.add(matrix[i][j]);if((j+1<llen &&!flag[i][j+1])&&(i==0||flag[i-1][j])) {//右通,上不通,j+1System.out.println(matrix[i][j]+"右通");j++;continue;}if((i>0&&!flag[i-1][j])&&(j==0||flag[i][j-1])) {//上通,左不通,i-1System.out.println(matrix[i][j]+"上通");i--;continue;}if((i+1<hlen&&!flag[i+1][j])&&(j+1==llen||flag[i][j+1])) {//下通,右不通,i+1System.out.println(matrix[i][j]+"下通");i++;continue;}if((j>0&&!flag[i][j-1])&&(i==hlen-1||flag[i+1][j])) {//左通,下不通,j-1System.out.println(matrix[i][j]+"左通");j--;continue;}}val.add(matrix[i][j]);return val; } }

?

?

?

左神算法中的解決思路:

思想:一層一層處理

?

一層完后,有外層的左上點,到內層的左上點,進行下一層的處理

import java.util.ArrayList;public class ZuoSolu {public static void main(String[] args) {int[][] a= {{1,2,3,4},{5,6,7,8},{9,10,11,12}};printMatrix(a);}public static void printMatrix(int[][] matrix){int m=matrix.length;int n=matrix[0].length;for(int i=0,j=0;(i<=m/2)&&(j<=n/2);i++,j++) {printEdge(matrix,i,m-i-1,j,n-j-1); }}public static void printEdge(int[][] arr,int hs,int he,int ls,int le) {if(hs==he) {//一行int i=ls;while(i<=le) {System.out.print(arr[hs][i]+" ");i++;}}else if(ls==le) {//一列int i=hs;while(i<=he) {System.out.print(arr[i][ls]+" ");i++;}}//矩形//打印上else{int i=ls;while(i<le) {System.out.print(arr[hs][i]+" ");i++;}//打印右i=hs;while(i<he) {System.out.print(arr[i][le]+" ");i++;}//打印下i=le;while(i>ls) {System.out.print(arr[he][i]+" ");i--;}//打印右i=he;while(i>hs) {System.out.print(arr[i][ls]+" ");i--;}}} }

?

總結

以上是生活随笔為你收集整理的输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 91搞| 国产欧美精品一区 | 国产精品日日做人人爱 | 性激烈视频在线观看 | 国产白丝袜美女久久久久 | 办公室荡乳欲伦交换bd电影 | 日日摸日日干 | 日日av | 日本高清视频免费看 | 日韩特一级 | 欧美激情15p | av网站在线免费观看 | 伊人91视频 | 少妇按摩一区二区三区 | 亚洲高潮无码久久 | 国产精品欧美一区喷水 | www.色中色| 日本三级中国三级99人妇网站 | 91麻豆国产在线 | 偷拍视频一区 | 天天在线观看 | 浮力影院国产第一页 | 国产欧美日韩中文字幕 | 国产精品suv一区二区69 | 日本变态折磨凌虐bdsm在线 | 国产无遮挡免费 | 亚洲熟伦熟女新五十路熟妇 | 久久性| 91伊人| 欧美三级特黄 | 日本大尺度吃奶做爰视频 | 一区二区在线视频观看 | 中文字幕日韩欧美在线 | 欧美久久久久久久久 | 日本一级片在线观看 | 欧美综合图片 | 亚洲日本片 | 日本视频免费看 | 亚洲国产精品成人综合久久久 | 亚洲 国产 日韩 欧美 | 国产成人91精品 | 美女毛片在线观看 | 国产91在线播放九色 | 国产婷婷色一区二区 | 国产在线看黄 | 最新av在线网站 | 国产麻豆午夜三级精品 | 91全免费 | 51国产偷自视频区视频 | 白浆在线播放 | 宅宅少妇无码 | 丰满人妻一区二区三区大胸 | 色婷婷精品久久二区二区密 | 日韩精品视频在线观看网站 | 精品在线一区二区 | 亚洲AV成人无码电影在线观看 | 日本乱大交xxxx公交车 | 久久久精品视频在线观看 | 性高跟鞋xxxxhd国产电影 | 亚洲砖区区免费 | 欧美黄色一级大片 | 欧美又粗又长 | 制服诱惑一区二区三区 | 无码一区二区三区在线 | 一区二区免费视频 | 亚洲婷婷久久综合 | 成人av视屏| 中文资源在线观看 | 男人av资源 | 欧美精品手机在线 | 成人aⅴ视频 | 女人扒开腿免费视频app | 人人澡人人透人人爽 | 欧美成人免费观看视频 | a国产在线 | 欧美乱欲视频 | 肉色丝袜脚交一区二区 | 欧美激情久久久 | 男人的网址| 少妇久久久久久被弄高潮 | 欧美色xxx| 黄色在线免费看 | 黄色在线观看www | 深夜福利久久 | 五月婷婷爱 | 不卡中文av | 99热97| 四虎免费av| 色哟哟视频在线 | 91久久人澡人人添人人爽欧美 | 青青草国产一区二区三区 | 亚洲av无码日韩精品影片 | 92久久精品一区二区 | 欧美色亚洲色 | 99re免费视频 | 91香蕉国产在线观看软件 | 欧美福利第一页 | 四色永久访问 | 日韩精品一区二区三区在线 |