Java教程

699掉落的方块

本文主要是介绍699掉落的方块,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

遇事不绝上一发暴力没想到竟然过了
退役两年半调试调了快半小时

class Solution {
public:
    vector<int> fallingSquares(vector<vector<int>>& positions) {
            vector<int>ans;vector<int>he(positions.size(),0);//记录每个块的高度
            int len=positions.size();int L1,R1,L2,R2;
           // he[0]=positions[0][1]; 
           int mx=0;
            for(int i=0;i<len;i++)
            {
              L1=positions[i][0]; R1=positions[i][1]+positions[i][0];
              he[i]=positions[i][1];
              for(int j=0;j<i;j++)
                {
                L2=positions[j][0];R2=positions[j][1]+positions[j][0];
                if((L1>=L2&&L1<R2)||(R1>L2&&R1<=R2)||(L1>=L2&&R1<=R2)||(L1<L2&&R1>R2))
                {
                    he[i]=max(he[i],he[j]+positions[i][1]);
                }
                }
                mx=max(mx,he[i]);
                ans.push_back(mx);
            }
            return ans;
    }
};
这篇关于699掉落的方块的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!