讨论/题目交流/接雨水问题/
接雨水问题

有大佬能给小弟解答一下吗,为什么测试时正确,提交却报错
663a4d817e13c7e457ab865ecc4f577.png

class Solution {
public:
    int trap(vector<int>& height) {
        int head=0;
        int tail=0;
        int low=0;
        int h=0;
        int water=0;
        for(int i=0;i<height.size();i++)
        {
            if(height[i]!=0)
                head=i;
            break;
        }
        tail=head+1;

        int ends=height.size()-1;
        while(height[ends]<height[ends-1])
        {
            ends--;
        }
        

        while(head<ends)
        {
            
                while(height[tail]<height[tail-1])
                {
                    tail++;
                }
                tail--;
                low=tail;
                tail++;
                while(height[tail]>height[tail-1])
                {
                    tail++;
                }
                tail--;
                
                //求面积
                h=(height[head]<height[tail]?height[head]:height[tail]);
                for(int i=head+1;i<tail;i++)
                {
                    water=water+h-height[i];
                }

                //更新head和tail
                head=tail;
                tail=head+1;
        }
        return water;

    }
};

微信图片_20191211175112.png

展开讨论

你输入的测试 是空数组

展开全部 2 讨论