日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

leetcode42 --- trap

發布時間:2024/7/23 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 leetcode42 --- trap 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1 題目

給定?n?個非負整數表示每個寬度為 1 的柱子的高度圖,計算按此排列的柱子,下雨之后能接多少雨水。

2 思路

這個題主要是要清楚, 接的最多的雨水總量為一個位置的最高水位減去這個位置的高度(也就是該位置的接水量)的總和, 而每一個位置的最高水位是其左邊最高高度以及其右邊最高高度兩者取其小. 現在的問題變成了怎么確定每一個位置的左邊最高高度和右邊最高高度. 用動態規劃的方法來確定.

代碼:

int trap(vector<int>& height) {int height_size = height.size();int total = 0;if (height_size > 2) {vector<int> left_max(height_size, 0);vector<int> right_max(height_size, 0);left_max[0] = height[0];right_max[height_size - 1] = height[height_size - 1];for (int i = 1; i < height_size; i ++) {left_max[i] = max(left_max[i - 1], height[i]);}for (int i = height_size - 2; i >= 0; i --) {right_max[i] = max(right_max[i + 1], height[i]);total += min(left_max[i], right_max[i]) - height[i];}}return total; }

?

總結

以上是生活随笔為你收集整理的leetcode42 --- trap的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。