Java二維數(shù)組查找功能代碼實(shí)現(xiàn)
題目描述:
在一個(gè)二維數(shù)組中(每個(gè)一維數(shù)組的長(zhǎng)度相同),每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請(qǐng)完成一個(gè)函數(shù),輸入這樣的一個(gè)二維數(shù)組和一個(gè)整數(shù),判斷數(shù)組中是否含有該整數(shù)。
題目分析:
根據(jù)二維數(shù)組的特點(diǎn)可知,二維數(shù)組相當(dāng)于一個(gè)矩陣; 根據(jù)題意可知該數(shù)組是有序的,因此該矩陣元素相當(dāng)于是從小到大排列的; 如果從左下角開始查找較方便,因?yàn)樽笙陆堑闹迪蛏鲜沁f減的,向右是遞增的; 當(dāng)從左下角開始比較時(shí),如果target傳入的數(shù)大于它則列數(shù)加一進(jìn)行比較 ,如果小于它則行數(shù)減一進(jìn)行比較。代碼:
public class Solution { public boolean Find(int target, int [][] array) { int rows = array.length; //定義行數(shù) int lies = array[0].length; //定義列數(shù) int i = 0; //i用于計(jì)數(shù) while((rows>0)&&(i<lies)) //while中不滿足條件時(shí)即停止循環(huán) { if(target>array[rows-1][i])//當(dāng)目標(biāo)大于左下角的值時(shí),讓列數(shù)自增{ i++;}else if(target<array[rows-1][i])//當(dāng)目標(biāo)小于左下角的值時(shí),讓行數(shù)自減{ rows--;}else{ //當(dāng)前兩種都不是時(shí),說(shuō)明找到目標(biāo) return true;} }//遍歷完還沒找到,說(shuō)明目標(biāo)在數(shù)組中不存在return false; }}
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. JavaWeb Servlet中url-pattern的使用2. jsp中sitemesh修改tagRule技術(shù)分享3. asp(vbscript)中自定義函數(shù)的默認(rèn)參數(shù)實(shí)現(xiàn)代碼4. React優(yōu)雅的封裝SvgIcon組件示例5. 輕松學(xué)習(xí)XML教程6. php網(wǎng)絡(luò)安全中命令執(zhí)行漏洞的產(chǎn)生及本質(zhì)探究7. ASP刪除img標(biāo)簽的style屬性只保留src的正則函數(shù)8. JSP servlet實(shí)現(xiàn)文件上傳下載和刪除9. ASP基礎(chǔ)知識(shí)VBScript基本元素講解10. 詳解瀏覽器的緩存機(jī)制
