1 #include<iostream> 2 #include<stack> 3 using namespace std; 4 class min_stack 5 { 6 public : 7 void push( int ); 8 void pop(); 9 int min(); 10 int size() 11 { 12 return data.size(); 13 } 14 private : 15 stack< int > data; 16 stack< int > min_data; 17 }; 18 void min_stack::push( int value) 19 { 20 data.push(value); 21 if (min_data.size()== 0 || min_data.top() > value) 22 { 23 min_data.push(value); 24 } 25 else 26 { 27 min_data.push(min_data.top()); 28 } 29 } 30 void min_stack::pop() 31 { 32 if (data.size()> 0 ) 33 { 34 min_data.pop(); 35 data.pop(); 36 } 37 } 38 int min_stack::min() 39 { 40 return min_data.top(); 41 } 42 43 int main( int argc, char ** argv) 44 { 45 int n,m; 46 char ci; 47 while (cin>> n) 48 { 49 min_stack mystack; 50 for ( int i= 0 ; i<n; i++ ) 51 { 52 cin>> ci; 53 switch (ci) 54 { 55 case ' s ' : 56 cin>> m; 57 mystack.push(m); 58 cout<<mystack.min()<< endl; 59 break ; 60 case ' o ' : 61 mystack.pop(); 62 if (mystack.size()== 0 ) 63 { 64 cout<< " NULL " << endl; 65 } 66 else 67 { 68 cout<<mystack.min()<< endl; 69 } 70 break ; 71 } 72 } 73 } 74 return 1 ; 75 } 76 /* ************************************************************* 77 Problem: 1522 78 User: xuebintian 79 Language: C++ 80 Result: Accepted 81 Time:140 ms 82 Memory:1524 kb 83 *************************************************************** */
- 題目æ述:
-
定義棧的數(shù)æ“š(jù)çµæ§‹ï¼Œè«‹åœ¨è©²é¡žåž‹ä¸å¯¦ç¾(xià n)ä¸€å€‹èƒ½å¤ å¾—åˆ°æ£§æœ€å°å…ƒç´ çš„min函數(shù)。
?
- 輸入:
-
輸入å¯èƒ½åŒ…å«å¤šå€‹æ¸¬è©¦æ¨£ä¾‹ï¼Œè¼¸å…¥ä»¥EOFçµæŸã€‚
å°äºŽæ¯å€‹æ¸¬è©¦æ¡ˆä¾‹ï¼Œè¼¸å…¥çš„第一行為一個整數(shù)n(1<=n<=1000000), n代表將è¦è¼¸å…¥çš„æ“作的æ¥é©Ÿæ•¸(shù)。
接下來有n行,æ¯è¡Œé–‹å§‹æœ‰ä¸€å€‹å—æ¯Ci。
Ci=’s’時,接下有一個數(shù)å—k,代表將k壓入棧。
Ci=’oâ€™æ™‚ï¼Œå½ˆå‡ºæ£§é ‚å…ƒç´ ã€‚?
- 輸出:
-
å°æ‡‰æ¯å€‹æ¸¬è©¦æ¡ˆä¾‹ä¸çš„æ¯å€‹æ“作,
若棧ä¸ç‚ºç©ºï¼Œè¼¸å‡ºç›¸æ‡‰çš„棧ä¸æœ€å°å…ƒç´ 。å¦å‰‡ï¼Œè¼¸å‡ºNULL。
æ›´å¤šæ–‡ç« ã€æŠ€è¡“交æµã€å•†å‹™åˆä½œã€è¯(lián)ç³»åšä¸»
微信掃碼或æœç´¢ï¼šz360901061

å¾®ä¿¡æŽƒä¸€æŽƒåŠ æˆ‘ç‚ºå¥½å‹
QQ號è¯(lián)系: 360901061
您的支æŒæ˜¯åšä¸»å¯«ä½œæœ€å¤§çš„動力,如果您喜æ¡æˆ‘çš„æ–‡ç« ï¼Œæ„Ÿè¦ºæˆ‘çš„æ–‡ç« å°æ‚¨æœ‰å¹«åŠ©ï¼Œè«‹ç”¨å¾®ä¿¡æŽƒæ下é¢äºŒç¶ç¢¼æ”¯æŒåšä¸»2å…ƒã€5å…ƒã€10å…ƒã€20å…ƒç‰æ‚¨æƒ³æ的金é¡å§ï¼Œç‹ ç‹ é»žæ“Šä¸‹é¢çµ¦é»žæ”¯æŒå§ï¼Œç«™é•·éžå¸¸æ„Ÿæ¿€æ‚¨ï¼æ‰‹æ©Ÿå¾®ä¿¡é•·æŒ‰ä¸èƒ½æ”¯ä»˜è§£æ±ºè¾¦æ³•ï¼šè«‹å°‡å¾®ä¿¡æ”¯ä»˜äºŒç¶ç¢¼ä¿å˜åˆ°ç›¸å†Šï¼Œåˆ‡æ›åˆ°å¾®ä¿¡ï¼Œç„¶åŽé»žæ“Šå¾®ä¿¡å³ä¸Šè§’掃一掃功能,é¸æ“‡æ”¯ä»˜äºŒç¶ç¢¼å®Œæˆæ”¯ä»˜ã€‚
ã€æœ¬æ–‡å°æ‚¨æœ‰å¹«åŠ©å°±å¥½ã€‘å…ƒ
