Java二維數(shù)組查找功能代碼實現(xiàn)
題目描述:
在一個二維數(shù)組中(每個一維數(shù)組的長度相同),每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成一個函數(shù),輸入這樣的一個二維數(shù)組和一個整數(shù),判斷數(shù)組中是否含有該整數(shù)。
題目分析:
- 根據(jù)二維數(shù)組的特點可知,二維數(shù)組相當于一個矩陣;
- 根據(jù)題意可知該數(shù)組是有序的,因此該矩陣元素相當于是從小到大排列的;
- 如果從左下角開始查找較方便,因為左下角的值向上是遞減的,向右是遞增的;
- 當從左下角開始比較時,如果target傳入的數(shù)大于它則列數(shù)加一進行比較 ,如果小于它則行數(shù)減一進行比較。
代碼:
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])
//當目標大于左下角的值時,讓列數(shù)自增
{
i++;
}
else if(target<array[rows-1][i])
//當目標小于左下角的值時,讓行數(shù)自減
{
rows--;
}else
{
//當前兩種都不是時,說明找到目標
return true;
}
}
//遍歷完還沒找到,說明目標在數(shù)組中不存在
return false;
}
}
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Spring boot2.x中集成H2數(shù)據(jù)庫代碼實例
這篇文章主要介紹了Spring boot2.x中集成H2數(shù)據(jù)庫代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2019-12-12
String類下compareTo()與compare()方法比較
這篇文章主要介紹了String類下compareTo()與compare()方法比較的相關(guān)資料,需要的朋友可以參考下2017-05-05
java操作gaussDB數(shù)據(jù)庫的實現(xiàn)示例
本文主要介紹了java操作gaussDB數(shù)據(jù)庫的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2022-07-07
MybatisPlus實現(xiàn)insertBatchSomeColumn進行批量增加
本文主要介紹了MybatisPlus實現(xiàn)insertBatchSomeColumn進行批量增加,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2023-03-03
Java畢業(yè)設(shè)計實戰(zhàn)之健身俱樂部管理系統(tǒng)的實現(xiàn)
這是一個使用了java+SSM+Mysql+Jsp開發(fā)的健身俱樂部管理系統(tǒng),是一個畢業(yè)設(shè)計的實戰(zhàn)練習,具有俱樂部管理該有的所有功能,感興趣的朋友快來看看吧2022-02-02

