摩托车网站开发展览设计工程有限公司
2026/3/28 18:03:35 网站建设 项目流程
摩托车网站开发,展览设计工程有限公司,国外网站需要备案吗,江西 商城网站开发题目链接#xff1a;840. 矩阵中的幻方#xff08;中等#xff09; 算法原理#xff1a; 解法#xff1a;暴力枚举 0ms击败100.00% 时间复杂度O(mn) 幻方是由1~9组成的#xff0c;总和为45#xff0c;每一条线的和为45315#xff0c;对于正中间的元素#xff0c;有四条…题目链接840. 矩阵中的幻方中等算法原理解法暴力枚举0ms击败100.00%时间复杂度O(mn)幻方是由1~9组成的总和为45每一条线的和为45÷315对于正中间的元素有四条线经过总和是15×460但是正中间的元素重复算了四次需要减去三次的也就是说中心元素60-45÷35那么我们遍历时如果发现正中间元素不是5就可以直接越过这次判断了枚举每个幻方的左上角如果正中间元素是5就继续判断先要保证幻方中1~9这些数出现的次数必须是一次有重复或者缺失都不能构成幻方再依次判断三行、三列、主对角线、副对角线即可Java代码class Solution { public int numMagicSquaresInside(int[][] nums) { int mnums.length,nnums[0].length; int ret0; //枚举每个幻方的左上角 for(int i0;im-2;i){ for(int j0;jn-2;j){ if(nums[i1][j1]!5) continue; if(islegal(nums[i][j],nums[i][j1],nums[i][j2], nums[i1][j],nums[i1][j1],nums[i1][j2], nums[i2][j],nums[i2][j1],nums[i2][j2])) ret; } } return ret; } public boolean islegal(int... val){ int[] countnew int[16]; for(int v:val) count[v]; //幻方中1~9每个数必须只出现一次 for(int v1;v9;v) if(count[v]!1) return false;//数字缺失或重复必定不是幻方 return (val[0]val[1]val[2]15//第一行 val[3]val[4]val[5]15//第二行 val[6]val[7]val[8]15//第三行 val[0]val[3]val[6]15//第一列 val[1]val[4]val[7]15//第二列 val[2]val[5]val[8]15//第三列 val[0]val[4]val[8]15//主对角线 val[2]val[4]val[6]15);//副对角线 } }

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询