二維陣列最大值和二分查詢以及泛型化

2021-09-27 12:18:10 字數 1131 閱讀 5024

二維陣列找最大,不會,要會就暴力搜尋!

//二維陣列最大值

private

intmaxnum

(int

arr)}}

return max;

}

二分查詢,就醬不要問,反正暫時也不會優化!

//二分搜尋前提,陣列必須有序

//下面演算法按照陣列公升序實現

public

intbinarysearch

(int

list,

int value)

if(value < list[middle])if

(value > list[middle])}

return-1

;}

好了…

改為泛型

//二維陣列最大值,法1

public

comparable

> e max

(e list)}}

return maxelement;

}public

comparable

> e max

(e list)

if(max.

compareto

(finalmax)

>0)

finalmax = max;

}return finalmax;

}//二分查詢,陣列公升序

public

comparable

>

intbinarysearch

(e list, e key)

if(key.

compareto

(list[middle]

)<0)

if(key.

compareto

(list[middle]

)>0)

}return-1

;}

對於上述二維陣列最大元素和二分查詢的泛型方法,如果型別變數 e 是基本型別的包裝類,直接呼叫泛型方法即可(在這些包裝類中已經實現compareto()方法);反之,如果所給定的型別變數是自己所定義的類,而且重寫了compareto()方法,方法才會被呼叫成功。

二維陣列二分查詢

牛客網上面練的第一道程式設計題,終於有次百分之百通過了。思路 乙個for迴圈,每一行用個二分查詢,因為題目中陣列是有效的,所以很容易的就朝二分走了 publicclasssolutionelse returnresult publicbooleansearch intright,intleft,in...

二維陣列找最大值

在乙個二維陣列中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數。我得思路是從左上角開始,即arr 0 0 將這個整數和它相比,如果比它大,那麼將這個整數和arr 1 1 比 如果還大那麼繼續,如果小...

二維陣列中二分查詢

在乙個二維陣列中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數。從左下角 或者右上角 開始和目標值比較,如果相等,直接返回true,查詢成功 如果大於,則列值 如果小於,則二維索引 如果當陣列遍歷到...