資料結構與演算法 陣列 注水問題

2021-09-13 23:37:34 字數 622 閱讀 2229

乙個陣列代表乙個牆的高度,問說最終可以盛放多少水。

public class main2 ;

int arrays2=;

int arrays3=;

system.out.println(volunm(arrays1));

system.out.println(volunm(arrays2));

system.out.println(volunm(arrays3));

}public static int volunm(int array)

}max = array[0];

for (int i = 1 ; i < max_index; i++) else

}max = array[array.length - 1];

for(int i = array.length - 1; i > max_index; i--) else

}return r;

}

兩趟遍歷的方法比較直觀。

第一趟找到最高點。目的是只要知道有乙個最高點,那麼可以採用夾逼法從兩側逼近最高點。

第二趟遍歷,從兩側夾逼。維護乙個當前最高,只要比這個值小,就可以積水,否則就重新設定當前最高值。

資料結構與演算法 陣列

陣列是一種線性表資料結構。它用一組連續的記憶體空間,來儲存一組具有相同型別的資料。其中有幾個重要的概念 非線性表 連續的記憶體空間 儲存相同型別的資料 如圖所示,這是乙個長度為5的int陣列arr,我們假設起始的記憶體位址為1000,那麼第乙個元素的記憶體位址範圍就是 1000 1003,這是因為乙...

資料結構與演算法 陣列

題型1 如何用遞迴實現陣列求和 方法1 題型2 如何用乙個for迴圈列印乙個二維陣列 方法1 array在二維陣列中的行號和列號分別為 i maxy i maxy 題型3 用遞迴和非遞迴的方法實現二分查詢 題型4 如何在排序陣列中,找出給定數字出現的次數 方法1 二分查詢,分別找出左邊界和右邊界,左...

資料結構與演算法 陣列

陣列是由相同型別的元素 element 的集合所組成的資料結構,分配一塊連續的記憶體來儲存。利用元素的索引 index 可以計算出該元素對應的儲存位址。維基百科 陣列是線性表資料結構,定義陣列時,系統會分配乙份連續的記憶體空間來儲存一組相同的型別的資料,如int num n 陣列定義為一維陣列 二維...