2026/5/14 3:46:30
网站建设
项目流程
网站项目开发收费标准,福州核酸检测最新通知,崇左北京网站建设,wordpress调用分类文章2975: 移除栅栏得到的正方形田地的最大面积思路#xff1a;暴力枚举正方形所有可能的边长水平栅栏和垂直栅栏分开计算。对于水平栅栏#xff0c;任意两个栅栏之间的距离#xff08;中间的栅栏全部删除#xff09;都可能是正方形的边长#xff0c;存到一个哈希表 hSet 中。…2975: 移除栅栏得到的正方形田地的最大面积思路暴力枚举正方形所有可能的边长水平栅栏和垂直栅栏分开计算。对于水平栅栏任意两个栅栏之间的距离中间的栅栏全部删除都可能是正方形的边长存到一个哈希表 hSet 中。对于垂直栅栏任意两个栅栏之间的距离中间的栅栏全部删除都可能是正方形的边长存到一个哈希表 vSet 中。答案是 hSet 和 vSet交集中的最大值的平方记得返回之前取模。如果交集为空返回 −1。class Solution { public: int maximizeSquareArea(int m, int n, vectorint hFences, vectorint vFences) { constexpr int MOD1000000007; auto f[](vectorint nums,int x)-unordered_setint{ unordered_setint st; //正方形可能边长 nums.push_back(1); nums.push_back(x); sort(nums.begin(),nums.end()); for(int i0;inums.size();i){ for(int ji1;jnums.size();j){ int dnums[j]-nums[i]; if(d0) st.insert(d); } } return st; }; unordered_setint hf(hFences,m); unordered_setint vf(vFences,n); int best-1; for(int x:h) if(v.count(x)) bestmax(best,x); return best-1 ? -1:(long long)best*best%MOD; } };