LeetCode 42 (1st trial: Time Limit Exceed..)
に質問
42.Trapping Rain Water
Given n non-negative integers representing an elevation map where the width of each bar is 1, compute how much water it can trap after raining.
Example 1:
Input: height = [0,1,0,2,1,0,1,3,2,1,2,1]
Output: 6
Explanation: The above elevation map (black section) is represented by array [0,1,0,2,1,0,1,3,2,1,2,1]. In this case, 6 units of rain water (blue section) are being trapped.
底辺(X値)が1の幅パターンが存在すると仮定すると、X(Index)値に基づいてY値が存在するArrayが与えられる.与えられたArrayは特定の地形(?)乙を形成してその地形に水を閉じ込める場合、水の総面積を求める問題である.写真や例を見るともっといいです.
💡に答える var trap = function(height) {
let peak = Math.max(...height)
let block=0
for(let i=peak;i>0;i--) {
let vacancy=[];
for(let p=0;p<height.length;p++){
if(height[p]>=i) {
vacancy.push(p)
}}
for(let f=0;f<vacancy.length;f++){
if(!(vacancy[f+1]-vacancy[f]-1)==false)
block+=(vacancy[f+1]-vacancy[f]-1)
}
}
return block
};
description
解釈の論理はこうである.
「最高点(peak)を求め、その点からX軸に平行な線を描き、1つずつ下を向いて、すべての配列値との交点(1はゲート)、および各交点のシゴン間(水付き空間)の長さの総和(3はゲート)を求める.」
全部で3回for文を用いて,すべてのグラフィック空間を横断し,水に満ちた空間の積分非無理法を求めた.ちょっと無知な方法ですが、答えは正解で興奮して提出しましたが、leetcode側の値は巨大な数字に満ちたArrayで、結果はTimeLimit Exceedでした.つまり、私が作った論理は、答えは正しいが、効率的なコードがないということです.
leetcode hardを解く大きな快感もTimeLimit Excedで塞がれ、すぐに落ち込んでしまいましたが、半分席の達成感を記録するために文章を書きます.すぐにまた出しますから、待ってください.
Reference
この問題について(LeetCode 42 (1st trial: Time Limit Exceed..)), 我々は、より多くの情報をここで見つけました
https://velog.io/@archedemus/LeetCode-42-1st-trial-Time-Limit-Exceed
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
var trap = function(height) {
let peak = Math.max(...height)
let block=0
for(let i=peak;i>0;i--) {
let vacancy=[];
for(let p=0;p<height.length;p++){
if(height[p]>=i) {
vacancy.push(p)
}}
for(let f=0;f<vacancy.length;f++){
if(!(vacancy[f+1]-vacancy[f]-1)==false)
block+=(vacancy[f+1]-vacancy[f]-1)
}
}
return block
};
description
解釈の論理はこうである.
「最高点(peak)を求め、その点からX軸に平行な線を描き、1つずつ下を向いて、すべての配列値との交点(1はゲート)、および各交点のシゴン間(水付き空間)の長さの総和(3はゲート)を求める.」
全部で3回for文を用いて,すべてのグラフィック空間を横断し,水に満ちた空間の積分非無理法を求めた.ちょっと無知な方法ですが、答えは正解で興奮して提出しましたが、leetcode側の値は巨大な数字に満ちたArrayで、結果はTimeLimit Exceedでした.つまり、私が作った論理は、答えは正しいが、効率的なコードがないということです.
leetcode hardを解く大きな快感もTimeLimit Excedで塞がれ、すぐに落ち込んでしまいましたが、半分席の達成感を記録するために文章を書きます.すぐにまた出しますから、待ってください.
Reference
この問題について(LeetCode 42 (1st trial: Time Limit Exceed..)), 我々は、より多くの情報をここで見つけました https://velog.io/@archedemus/LeetCode-42-1st-trial-Time-Limit-Exceedテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol