Java二維數(shù)組查找功能代碼實現(xiàn)
更新時間:2020年06月11日 11:57:07 投稿:yaominghui
這篇文章主要介紹了Java二維數(shù)組查找功能代碼實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
題目描述:
在一個二維數(shù)組中(每個一維數(shù)組的長度相同),每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成一個函數(shù),輸入這樣的一個二維數(shù)組和一個整數(shù),判斷數(shù)組中是否含有該整數(shù)。
題目分析:
- 根據(jù)二維數(shù)組的特點可知,二維數(shù)組相當(dāng)于一個矩陣;
- 根據(jù)題意可知該數(shù)組是有序的,因此該矩陣元素相當(dāng)于是從小到大排列的;
- 如果從左下角開始查找較方便,因為左下角的值向上是遞減的,向右是遞增的;
- 當(dāng)從左下角開始比較時,如果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用于計數(shù) while((rows>0)&&(i<lies)) //while中不滿足條件時即停止循環(huán) { if(target>array[rows-1][i]) //當(dāng)目標(biāo)大于左下角的值時,讓列數(shù)自增 { i++; } else if(target<array[rows-1][i]) //當(dāng)目標(biāo)小于左下角的值時,讓行數(shù)自減 { rows--; }else { //當(dāng)前兩種都不是時,說明找到目標(biāo) return true; } } //遍歷完還沒找到,說明目標(biāo)在數(shù)組中不存在 return false; } }
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
java實現(xiàn)猜數(shù)字小游戲(Swing版)
這篇文章主要介紹了java實現(xiàn)猜數(shù)字小游戲,Swing編程版的猜數(shù)字游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2020-05-05springBoo3.0集成knife4j4.1.0的詳細(xì)教程(swagger3)
這篇文章主要介紹了springBoo3.0集成knife4j4.1.0的詳細(xì)教程(swagger3),本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-07-07詳解SpringMVC組件之HandlerMapping(一)
這篇文章主要介紹了詳解SpringMVC組件之HandlerMapping(一),HandlerMapping組件是Spring?MVC核心組件,用來根據(jù)請求的request查找對應(yīng)的Handler,在Spring?MVC中,有各式各樣的Web請求,每個請求都需要一個對應(yīng)的Handler來處理,需要的朋友可以參考下2023-08-08Spring Cloud 部署時使用 Kubernetes 作為注冊中心和配置中
Spring Cloud Kubernetes提供了使用Kubernete本地服務(wù)的Spring Cloud通用接口實現(xiàn),這篇文章主要介紹了Spring Cloud 部署時如何使用 Kubernetes 作為注冊中心和配置中心,需要的朋友可以參考下2024-05-05