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;
    }
};
posted @ 2022-05-26 21:50  lynko小渣硕  阅读(25)  评论(0)    收藏  举报