力扣接雨水問題

2021-09-26 19:55:31 字數 734 閱讀 7041

思路是這樣的,先找到陣列中的最大值,然後在以他為中心,左右分割遍歷陣列,遞迴陣列,總是找最大值,計算 兩個最大值之間的存水量 ,最後彙總相加即可得出結果.

package test;

public class testcasetwo

}int reuslt = trapleft(height, maxinx) + trapright(height, maxinx);

return reuslt;

}public int trapleft(int height, int index)

}if (nowmaxinx != index)

}return sum + trapleft(height, nowmaxinx);

}return sum;

}public int trapright(int height, int index)

}if (nowmaxinx != index)

}if (nowmaxinx < height.length - 1)

}return sum;

}public static void main(string args) ;

//int a = new int;

//int a = ;

//int a = ;

int a=;

new testcasetwo().trap(a);

}}

力扣 42 接雨水

題目 給定 n 個非負整數表示每個寬度為 1 的柱子的高度圖,計算按此排列的柱子,下雨之後能接多少雨水。上面是由陣列 0,1,0,2,1,0,1,3,2,1,2,1 表示的高度圖,在這種情況下,可以接 6 個單位的雨水 藍色部分表示雨水 感謝 marcos 貢獻此圖。示例 輸入 0,1,0,2,1,...

力扣第42題 接雨水

原文是帶著講解,過程還算詳細 上題是乙個對題目的舉例說明 本次解題中用這個圖 我認為這個圖涵蓋了可能出現的情況,講解會比較好一點 第一種方法是暴力法,時間複雜度為o n 2 空間複雜度為o 1 public inttrap02 int height int max right 0 找出右邊最高 fo...

力扣 42 接雨水 常考

題目 給定 n 個非負整數表示每個寬度為 1 的柱子的高度圖,計算按此排列的柱子,下雨之後能接多少雨水。示例 1 輸入 height 0,1,0,2,1,0,1,3,2,1,2,1 輸出 6 解釋 上面是由陣列 0,1,0,2,1,0,1,3,2,1,2,1 表示的高度圖,在這種情況下,可以接 6 ...