class Solution {
public:
int pileBox(vector<vector<int>>& box) {
int n=box.size();
sort(box.begin(),box.end());
vector<int> dp(n);
int res=0;
for(int i=0;i<n;i++)
{
int w=box[i][0],d=box[i][1],h=box[i][2];
dp[i]=h;
for(int j=0;j<i;j++)
{
int w1=box[j][0],d1=box[j][1],h1=box[j][2];
if(w>w1 && d>d1 && h>h1)
{
dp[i]=max(dp[i],dp[j]+h);
}
}
res=max(res,dp[i]);
}
return res;
}
};
Leetcode 面试题 08.13. 堆箱子 DP
最新推荐文章于 2023-08-22 22:46:35 发布