二維陣列找最大值

2022-08-03 12:45:10 字數 713 閱讀 2161

在乙個二維陣列中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。

請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數。 

我得思路是從左上角開始,即arr[0][0],將這個整數和它相比,如果比它大,那麼將這個整數和arr[1][1]比

如果還大那麼繼續,如果小於arr[n][n],那麼去arr[n][n]這個元素的左面和上面找,如果有說明在這個陣列中

沒有說明不在

這個想法首先只適用於方陣,並且查詢效率並不是最好

答案的解法是從左下角開始

如果整數比這個元素大說明整數在這個元素的右邊,

如果整數比這個元素**明整數在這個元素的左邊。

更新元素,重複上述步驟

如果這個元素已經到邊界並且出界了還沒找到,那麼就是沒有

int search(int* arr,int x,int y,int

num)

else

if(arr[a*y+b] else

return1;

}return -1;}

intmain()

;

int index = 0

; index = search((int*)arr,5,5,89

); printf("%d

",index);

return0;

}

子陣列之和的最大值(二維)

二維情況下,定義 部分和 ps i j 等於以 1,1 i,1 1,j i,j 為頂點的矩形區域的元素之和。則以 i min,j min i min,j max i max,j min i max,j max 為頂點的矩形區域的元素之和,等於ps i max j max ps i min 1 j m...

求子陣列之和的最大值(二維)

求子陣列之和的最大值 二維 public class subbinaarraysum if start max start 0 return max low和high為將二維陣列劈開的兩列,取值範圍為0 m,line為二維陣列的哪一行 函式返回兩列之間的一維陣列的和 public static in...

子陣列之和的最大值 二維

程式設計之美 第2.15節 子陣列之和的最大值 二維 題目 求二維陣列中子陣列的最大和 解法 從上到下遍歷,對於第i行,遍歷從第i行往下的所有行,使其加和成為一維陣列,然後用一維陣列求最大值來做。include includeusing namespace std int sub2darrysum ...