左老師容器接水

2021-07-22 11:32:22 字數 670 閱讀 8872

給定乙個非負數的陣列,代表乙個容器請問可以接多少水,比如10 5 20 可以接10-5=5的水時間複雜度o(n)額外空間複雜度o(1);

1、對於i未知遍歷最左邊最大值,最右邊最大值,可以求得i位置的水量,可以準備兩個陣列l[i]表示i位置左邊最大值,r[i]表示i位置右邊最大值o(n)

2、可以用乙個左邊最大值max代替l[i]這個陣列o(n)

3、不用陣列,只用兩個左右指標誰小誰動

#include#include#include #includeusing namespace std;

//最長遞增子串行長度

int getwarter1(int *arr,int len)

; for(int i=len-2;i>=1;i--)

int value=0;

int leftmax=arr[0];

for(int i=1;i<=len-2;i++)

return value;

}int getwarter2(int *arr,int len)

else

}return value;

}int main()

{ int len;

cin>>len;

int arr[100];

for(int i=0;i>arr[i];

cout<

容器配接器 stacks

stack 堆疊 的簡單使用 include include using namespace std int main if st st1 cout st.size endl 棧中元素的個數 cout st.top endl 返回棧頂元素 st.pop 出棧 st.top 12 改變棧頂元素值 st...

STL 容器配接器

以底部容器完成所有工作,而具有這種修改某物介面而成為另一種風貌的性質者稱為配接器,因此stl stack queue priority queue都稱為容器配接器。stack是一種先進後出的資料結構,不允許有遍歷行為。stl是以deque作為預設情況下的stack底部結構。deque為底部結構並封閉...

5 容器配接器和字串

c 標準程式庫還提供了三種容器配接器。1.stacks 堆疊 2.queue 佇列 3.priority queues 帶優先序的佇列 容器介面卡不提供迭代器操作。此外這裡還介紹乙個叫bitset的特殊容器。stacks只提供5個成員函式。1.push 2.top 3.pop 4.empty 5.s...