Java怎么解决接雨水问题

这篇文章主要介绍“Java怎么解决接雨水问题”,在日常操作中,相信很多人在Java怎么解决接雨水问题问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Java怎么解决接雨水问题”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

         Java怎么解决接雨水问题  

int trap(vector<int>& height){    int ans = 0, current = 0;    stack<int> st;    while (current < height.size()) {        while (!st.empty() && height[current] > height[st.top()]) {            int top = st.top();            st.pop();            if (st.empty())                break;            int distance = current - st.top() - 1;            int bounded_height = min(height[current], height[st.top()]) - height[top];            ans += distance * bounded_height;        }        st.push(current++);    }    return ans;}

到此,关于“Java怎么解决接雨水问题”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!