矩陣處理—Zigzag矩陣打印

與其明天開始,不如現在行動!

文章目錄

    • Zigzag矩陣打印
      • 1.1 題目描述
      • 1.2 解決思路
      • 1.3 代碼實現
  • 💎總結


Zigzag矩陣打印

1.1 題目描述

有一個n行m列的矩陣,要求按照Z字形打印出數據,如圖:

zigzag

1.2 解決思路

  1. 用一個指針,從a開始一直往右走,走到頭再往下走
  2. 第二個指針,從a開始一直往下走,走到頭再往右走
  3. 兩個指針,每走一步,就打印他們之間直線上的點

1.3 代碼實現

public class ZigzagPrintMatrix {public static void zigzagPrintMatrix(int[][] matrix) {if (matrix == null) {return;}// a指針int aRow = 0;int aColumn = 0;// b指針int bRow = 0;int bColumn = 0;// 向上打印還是向下打印boolean flag = true;// 矩陣邊界int maxRow = matrix.length - 1;int maxColumn = matrix[0].length - 1;while (aRow != maxRow + 1) {printMatrix(matrix, aRow, aColumn, bRow, bColumn, flag);aRow = aColumn == maxColumn ? aRow + 1 : aRow;aColumn = aColumn == maxColumn ? aColumn : aColumn + 1;bColumn = bRow == maxRow ? bColumn + 1 : bColumn;bRow = bRow == maxRow ? bRow : bRow + 1;// 每次打印完要改變方向flag = !flag;}}private static void printMatrix(int[][] matrix, int aRow, int aColumn, int bRow, int bColumn, boolean flag) {if (flag) {while (bRow != aRow - 1) {System.out.print(matrix[bRow--][bColumn++] + " ");}}else {while (aRow != bRow + 1) {System.out.print(matrix[aRow++][aColumn--] + " ");}}}public static void main(String[] args) {int[][] matrix = new int[5][3];int num = 1;for (int i = 0; i < matrix.length; i++) {for (int j = 0; j < matrix[i].length; j++) {matrix[i][j] = num++;}}zigzagPrintMatrix(matrix);}
}

💎總結

本文中若是有出現的錯誤請在評論區或者私信指出,我再進行改正優化,如果文章對你有所幫助,請給博主一個寶貴的三連,感謝大家😘!!!


本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/210396.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/210396.shtml
英文地址,請注明出處:http://en.pswp.cn/news/210396.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Weblogic T3協議反序列化漏洞

文章目錄 1. Weblogic T3協議反序列化漏洞1.1 漏洞描述1.2 基本原理1.3 漏洞復現1.4 修復建議 1. Weblogic T3協議反序列化漏洞 1.1 漏洞描述 說明內容漏洞編號CVE-2018-2628漏洞名稱Weblogic T3協議反序列化漏洞漏洞評級高危影響范圍Weblogic 10.3.6.0Weblogic 12.1.3.0Webl…

基于JavaWeb+SSM+Vue居住證申報系統小程序的設計和實現

基于JavaWebSSMVue居住證申報系統小程序的設計和實現 源碼獲取入口KaiTi 報告Lun文目錄前言主要技術系統設計功能截圖訂閱經典源碼專欄Java項目精品實戰案例《500套》 源碼獲取 源碼獲取入口 KaiTi 報告 1.1題目背景 隨著時代的發展&#xff0c;人口流動越來越頻繁&#xff0…

生活、工作常用API免費接口

身份證識別OCR&#xff1a;傳入身份證照片&#xff0c;識別照片文字信息并返回&#xff0c;包括姓名、身份證號碼、性別、民族、出生年月日、地址、簽發機關及有效期。二維碼識別OCR&#xff1a;對圖片中的二維碼、條形碼進行檢測和識別&#xff0c;返回存儲的文字內容。銀行卡…

pycharm安裝

1.先去官網下載pycharm 2.下載python3.8 3.修改pip鏡像 4.如果有環境變量沒加的加一下

Gazebo基本使用

參考文章 熟悉Gazebo界面 : ROS自學筆記八&#xff1a;Gazebo 搭建環境&#xff1a;Gazebo仿真環境搭建 搭建環境&#xff0b;加載機器人&#xff1a;gazebo仿真環境搭建配置小車運動仿真

全國農服進萬家系列活動——中國農業生產托管萬里行在河北玉田舉行

12月8日&#xff0c;“全國農服進萬家系列活動-中國農業生產托管萬里行”在河北省玉田縣圓滿舉行。來自全國各地農業農村領域的嘉賓齊聚一堂&#xff0c;交流農業社會化服務典型經驗&#xff0c;共話農業社會化服務高質量發展大事。 原農業部總農藝師、中國合作經濟學會會長孫中…

【戀上數據結構】前綴樹 Tire 學習筆記

Tire 需求分析 如何判斷一堆不重復的字符串是否以某個前綴開頭&#xff1f; 用 Set\Map 存儲字符串&#xff08;不重復&#xff09;遍歷所有字符串進行判斷缺點&#xff1a;時間復雜度 O(n) 有沒有更優的數據結構實現前綴搜索&#xff1f; Tire&#xff08;和 Tree 同音&a…

Rust測試字符串的移動,Move

代碼創建了一個結構體&#xff0c;結構體有test1 字符串&#xff0c;還有指向字符串的指針。一共創建了兩個。 然后我們使用swap 函數 交換兩個結構體內存的內容。 最后如上圖。相同的地址&#xff0c;變成了另外結構體的內容。注意看指針部分&#xff0c;還是指向原來的地址…

input、el-input輸入框輸入規則

一、input 只能輸入框只能輸入正整數&#xff0c;輸入同時禁止了以0開始的數字輸入&#xff0c;防止被轉化為其他進制的數值。 <!-- 不能輸入零時--> <input typetext οninput"valuevalue.replace(/^(0)|[^\d]/g,)"><!-- 能輸入零時--> <inp…

luceda ipkiss教程 43:畫漸變圓弧型波導

案例分享&#xff1a; from si_fab import all as pdk import ipkiss3.all as i3 from ipcore.properties.restrictions import RestrictTuple from ipkiss.geometry.shapes.modifiers import __ShapePathBase__ import numpy as np from math import atan2class ShapePathTa…

[java]學生管理系統

一、學生類 首先創建一個學生類&#xff0c;定義學號姓名年齡居住地 public class Student {private String id;private String name;private String age;private String address;//構造函數public Student(String id, String name, String age, String address) {this.id i…

54.grpc實現文件上傳和下載

文章目錄 一&#xff1a;簡介1. 什么是grpc2. 為什么我們要用grpc 二&#xff1a;grpc的hello world1、 定義hello.proto文件2、生成xxx_grpc.pb.go文件3、生成xxx.pb.go結構體文件4、編寫服務代碼service.go5、編寫客戶端代碼client.go 三、服務端流式傳輸&#xff1a;文件下載…

AIOps、微服務和云平臺

數字景觀正在從整體轉向微服務、基于云的服務。企業和公司需要適應不斷變化的技術格局并跟上變化。系統變得越來越復雜并且不容易管理。我將嘗試解釋一些較新的架構方法、趨勢&#xff0c;并提供對 AIOps 的見解以及它如何幫助解決這個問題。 微服務 微服務架構正在成為最受歡…

什么是web組態?一文讀懂web組態

隨著工業4.0的到來&#xff0c;物聯網、大數據、人工智能等技術的融合應用&#xff0c;使得工業領域正在經歷一場深刻的變革。在這個過程中&#xff0c;web組態技術以其獨特的優勢&#xff0c;正在逐漸受到越來越多企業的關注和認可。那么&#xff0c;什么是web組態&#xff1f…

android-android源碼目錄

android源碼目錄 Android.bp art bionic bootable bootstrap.bash build build.sh compatibility cts dalvik developers development device external frameworks hardware IMAGE javaenv.sh kernel libcore libnativehelper Makefile mkcombinedroot mkimage_ab.sh mkimage.…

我的創作紀念日——一年

機緣 初心始于對技術的熱愛和分享知識的渴望。最初&#xff0c;我在一次練習中遇到了一些問題&#xff0c;通過解決這些問題并將解決方案記錄下來&#xff0c;我意識到分享經驗對自己和他人都非常有價值。于是&#xff0c;我開始在博客和社交平臺上記錄日常學習過程、撰寫技術…

uni-app 獲取PAD激光測溫方式 (uni-app安卓獲取廣播內容)

直接在onload執行下列代碼 var main plus.android.runtimeMainActivity(); //獲取activityvar context plus.android.importClass(android.content.Context); //上下文var receiver plus.android.implements(io.dcloud.feature.internal.reflect.BroadcastReceiver, {onRece…

動力未來:特斯拉 Model S 電池技術一覽

電動汽車是當今最具創新性和前景的交通工具之一,它們不僅能夠提供高效、環保的駕駛體驗,還能夠減少對化石燃料的依賴,促進可持續發展。在電動汽車領域,特斯拉 Model S 是一款引領潮流的產品,它以其豪華、強勁的性能和尖端的電池技術而聞名。本文將為您介紹特斯拉 Model S …

【springboot設計源碼】慶陽非物質文化遺產展示平臺課題背景、目的、意義、研究方法

該項目含有源碼、文檔、PPT、配套開發軟件、軟件安裝教程、項目發布教程等學習內容。 目錄 一、項目介紹&#xff1a; 二、文檔學習資料&#xff1a; 三、模塊截圖&#xff1a; 四、開發技術與運行環境&#xff1a; 五、代碼展示&#xff1a; 六、數據庫表截圖&#xff1…

即時通訊技術文集(第26期):實時音視頻技術合集(Part1) [共16篇]

為了更好地分類閱讀 52im.net 總計1000多篇精編文章&#xff0c;我將在每周三推送新的一期技術文集&#xff0c;本次是第26 期。 [- 1 -] 實時語音聊天中的音頻處理與編碼壓縮技術簡述 [鏈接] http://www.52im.net/thread-825-1-1.html [摘要] 在視頻或者音頻通話過程中&…