YOLOv8遥感目标检测实战:切片、多尺度与方向调整指南
2026/10/20 3:06:04
importjava.util.*;classSolution{privatestaticfinaldoubleEPS=1e-6;publicbooleanjudgePoint24(int[]cards){List<Double>nums=newArrayList<>();for(intcard:cards){nums.add((double)card);}returndfs(nums);}privatebooleandfs(List<Double>nums){if(nums.size()==1){returnMath.abs(nums.get(0)-24.0)<EPS;}intn=nums.size();for(inti=0;i<n;i++){for(intj=0;j<n;j++){if(i==j)continue;doublea=nums.get(i);doubleb=nums.get(j);List<Double>next=newArrayList<>();for(intk=0;k<n;k++){if(k!=i&&k!=j){next.add(nums.get(k));}}// Try a + b, a - b, b - a, a * bdouble[]results={a+b,a-b,b-a,a*b};for(doubleval:results){next.add(val);if(dfs(next))returntrue;next.remove(next.size()-1);}// Try a / bif(Math.abs(b)>EPS){next.add(a/b);if(dfs(next))returntrue;next.remove(next.size()-1);}// Try b / aif(Math.abs(a)>EPS){next.add(b/a);if(dfs(next))returntrue;next.remove(next.size()-1);}}}returnfalse;}}