Re: [閒聊] 每日leetcode已回收

看板Marginalman作者 (是oin捏)時間1年前 (2024/04/12 11:10), 編輯推噓5(506)
留言11則, 6人參與, 1年前最新討論串113/1548 (看更多)
這題我是用stack做 一樣是找兩邊最高的 讓他們裝水 然後要兩個stack 不然會有沒裝到水的地方 捏 class Solution { public: int trap(vector<int>& height) { int water = 0; int len = height.size(); vector<int> paper; vector<int> paper2; for(int i = 0 ; i < len ; i ++) { paper.push_back(i); int tall = 0; int talli = 0; if(paper.size() > 1 && height[paper[0]] <= height[paper[paper.size() -1]]) { tall = min(height[paper[0]] , height[paper[paper.size()-1]] ); talli = i; for(int j = paper[0]+1 ; j < paper[paper.size()-1] ; j ++) { water += tall - height[j]; //cout << tall << " - " << height[j] << " (" << j << endl; } paper.clear(); paper.push_back(i); } } for(int i = paper.size()-1 ; i >= 0 ; i --) { paper2.push_back(paper[i]); int tall = 0; int talli = 0; if(paper2.size() > 1 && height[paper2[0]] <= height[paper2[paper2.si ze()-1]]) { //cout << "???" ; tall = min(height[paper2[0]] , height[paper2[paper2.size()-1]] ) ; talli = paper2[paper2.size()-1]; for(int j = paper2[0] ; j > paper2[paper2.size()-1] ; j --) { water += tall - height[j]; //cout << tall << " - " << height[j] << " (" << j << endl; } paper2.clear(); paper2.push_back(talli); } } return water; } }; -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.162.47.173 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1712891409.A.F87.html

04/12 11:11, 1年前 , 1F
大師
04/12 11:11, 1F

04/12 11:11, 1年前 , 2F
為啥要取名叫paper
04/12 11:11, 2F

04/12 11:12, 1年前 , 3F
因為我喜歡拿紙畫畫寫題目 算我的習慣
04/12 11:12, 3F

04/12 11:13, 1年前 , 4F
畫畫寫題目想東西都拿紙
04/12 11:13, 4F

04/12 11:13, 1年前 , 5F
這題去年就寫過了
04/12 11:13, 5F

04/12 11:13, 1年前 , 6F
我去年是用c寫的 解法跟現在差不多
04/12 11:13, 6F

04/12 11:13, 1年前 , 7F
你那時候還跟我說是室友教你的
04/12 11:13, 7F

04/12 11:13, 1年前 , 8F
我現在自己寫了 所以現在我會了
04/12 11:13, 8F

04/12 11:15, 1年前 , 9F
大師
04/12 11:15, 9F

04/12 11:15, 1年前 , 10F
還不是賣py
04/12 11:15, 10F

04/12 12:09, 1年前 , 11F
大師
04/12 12:09, 11F
文章代碼(AID): #1c6AOH-7 (Marginalman)
討論串 (同標題文章)
文章代碼(AID): #1c6AOH-7 (Marginalman)