由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - 问一个电面题
相关主题
求最大值的问题,很弱,轻拍,多谢各位大神了!做leetcode的几点体会分享
大牛们再来看看这题 Trapping Rain Water II求yelp内推
问一道无聊的bloomberg电面题大家常说的cc150就是cracking code interview这本书吧?
贡献一道电面题谁有trapping rain water的code?
再发两道F电面题G家悲剧了
Leetcode刷不动了,hard还差十几道题问一下permutation的time complexity问题
Leetcode上的Unique Paths II,我的code对吗?大家刷leetcode的速度有多块?
请教一个leetcode上的题贡献另外一个Amazon面试的题
相关话题的讨论汇总
话题: leftmax话题: rightmax话题: left话题: right话题: sz
进入JobHunting版参与讨论
1 (共1页)
l********o
发帖数: 56
1
Leetcode原题Trapping Rain Water,要求算法复杂度O(N), 只能用两个不套在一起的
for loop,只能开辟O(1)额外的空间.
Houzz的题。会做的朋友能帮忙说一下么?
D*********S
发帖数: 21
2
其实还能再优化一点,只不过加的限制条件太怪了,“只能用两个不套在一起的
下面给的相当于就一个for loop, one pass time O(n), space O(1)
class Solution {
public:
int trap(const vector& h) {
const int sz=h.size();
if(sz<=2)
return 0;
int leftMax=h[0], rightMax=h[sz-1], left=1, right=sz-2, ret=0;
while(left<=right)
if(leftMax {
if(h[left] ret+=leftMax-h[left];
else
leftMax=h[left];
++left;
}else
{

if(h[right] ret+=rightMax-h[right];
else
rightMax=h[right];
--right;
}
return ret;
}
};
M***6
发帖数: 895
3
先扫一遍找到array的max值,然后从左0往右扫到max算有多少雨水,然后再从右边
length -1往左到max,算有多少雨水。。算每个bin上有多少水用stack的思想,但是
不用需要stack。。
比如算左到右:
int pre = -1;
int i = 0;
while(i < maxIndex){
if(height[i] < pre){
sum += (pre - height[i]);
}
else{
pre = height[i];
}
i++;
}
1 (共1页)
进入JobHunting版参与讨论
相关主题
贡献另外一个Amazon面试的题再发两道F电面题
leetcode container with most waterLeetcode刷不动了,hard还差十几道题
leetcode: largest rectangle in histogram求帮助Leetcode上的Unique Paths II,我的code对吗?
问一个leetcode上面binary tree的题目请教一个leetcode上的题
求最大值的问题,很弱,轻拍,多谢各位大神了!做leetcode的几点体会分享
大牛们再来看看这题 Trapping Rain Water II求yelp内推
问一道无聊的bloomberg电面题大家常说的cc150就是cracking code interview这本书吧?
贡献一道电面题谁有trapping rain water的code?
相关话题的讨论汇总
话题: leftmax话题: rightmax话题: left话题: right话题: sz