文章詳情頁
Java二維數組查找功能代碼實現
瀏覽:3日期:2022-08-31 10:29:49
題目描述:
在一個二維數組中(每個一維數組的長度相同),每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成一個函數,輸入這樣的一個二維數組和一個整數,判斷數組中是否含有該整數。
題目分析:
根據二維數組的特點可知,二維數組相當于一個矩陣; 根據題意可知該數組是有序的,因此該矩陣元素相當于是從小到大排列的; 如果從左下角開始查找較方便,因為左下角的值向上是遞減的,向右是遞增的; 當從左下角開始比較時,如果target傳入的數大于它則列數加一進行比較 ,如果小于它則行數減一進行比較。代碼:
public class Solution { public boolean Find(int target, int [][] array) { int rows = array.length; //定義行數 int lies = array[0].length; //定義列數 int i = 0; //i用于計數 while((rows>0)&&(i<lies)) //while中不滿足條件時即停止循環 { if(target>array[rows-1][i])//當目標大于左下角的值時,讓列數自增{ i++;}else if(target<array[rows-1][i])//當目標小于左下角的值時,讓行數自減{ rows--;}else{ //當前兩種都不是時,說明找到目標 return true;} }//遍歷完還沒找到,說明目標在數組中不存在return false; }}
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。
標簽:
Java
相關文章:
1. java必懂的冷知識點之Base64加密與解密2. AJAX實現省市縣三級聯動效果3. 詳解springBoot啟動時找不到或無法加載主類解決辦法4. Java基于redis和mysql實現簡單的秒殺(附demo)5. 詳解php如何合并身份證正反面圖片為一張圖片6. php設計模式之模板模式實例分析【星際爭霸游戲案例】7. springboot集成與使用Sentinel的方法8. SpringBoot+SpringCache實現兩級緩存(Redis+Caffeine)9. java使用FFmpeg合成視頻和音頻并獲取視頻中的音頻等操作(實例代碼詳解)10. ASP.NET MVC視圖頁使用jQuery傳遞異步數據的幾種方式詳解
排行榜
