当前位置: 首页 > news >正文

设计网站包含的功能模块网站开发难吗2008

设计网站包含的功能模块,网站开发难吗2008,无锡微盟网络科技有限公司,广州海珠网站开发创建二维前缀和数组 两个for循环#xff0c;外循环表示子矩阵的左上角#xff08;x1,y1#xff09;#xff0c;内循环表示子矩阵的右下角#xff08;x2,y2#xff09; 两个for循环遍历#xff0c;计算子矩阵的元素总和 四个变量#xff0c;暴力破解的时间复杂度为O(…创建二维前缀和数组 两个for循环外循环表示子矩阵的左上角x1,y1内循环表示子矩阵的右下角x2,y2 两个for循环遍历计算子矩阵的元素总和 四个变量暴力破解的时间复杂度为O(m^2*n^2)m、n为matrix数组的行数和列数 优化 计算每一行的前缀和而不是整个矩阵的前缀和。 取不同的两个列(j1,j2)计算以这两个列为边界计算每一行的前缀和这就是二维前缀和 这样就可以减少一个变量遍历时间复杂度为O(m^2*n)m、n为matrix数组的行数和列数 代码 import org.junit.Test;import java.util.HashMap; import java.util.Map;public class SubmatrixNumber {Testpublic void test() {int[][] matrix new int[][]{{0, 1, 0}, {1, 1, 1}, {0, 1, 0}}; // for (int[] arr:getPrefixAnd(matrix)) { // for (int i:arr) { // System.out.print(i ); // } // System.out.println(); // }System.out.println(submatrixNumber(matrix, 0));//4int[][] matrix1 new int[][]{{1, -1}, {-1, 1}};System.out.println(submatrixNumber(matrix1, 0));//5int[][] matrix2 new int[][]{{904}};System.out.println(submatrixNumber(matrix2, 0));//0}public static int submatrixNumber(int[][] matrix, int target) {int[][] sum getPrefixAnd1(matrix);int ans 0;MapInteger, Integer count new HashMap();//负责记录计算出的每两列之间的前缀和出现的次数int endY 1;while (endY matrix[0].length) {for (int startY 0; startY endY; startY) {//两个列的边界int prefixAnd 0;count.clear();//两个列的边界不同此时计算出的前缀和不同负责记录的map集合需要初始化count.put(0, 1);//当矩阵为空时需要记录0出现了1次for (int k 1; k matrix.length; k) {//遍历行prefixAnd (sum[k][endY] - sum[k][startY]);//计算以这两个列为边界计算每一行的前缀和if (count.containsKey(prefixAnd - target)) {//count集合中是否存在key值为temp-target的数即为temp-target这个数是否是第一次出现ans count.get(prefixAnd - target);//不是第一次则取value值加上}count.put(prefixAnd, count.getOrDefault(prefixAnd, 0) 1);//记录次数加一//defaultValue - 当指定的key并不存在映射关系中则返回的该默认值//即如果是第一次出现则默认的次数记为0}}endY;}return ans;}public static int[][] getPrefixAnd(int[][] matrix) {int[][] sum new int[matrix.length][matrix[0].length];for (int i 0; i matrix.length; i) {for (int j 0; j matrix[0].length; j) {if (i 0 j 0) {//第一行sum[i][j] sum[i][j - 1] matrix[i][j];} else if (j 0 i 0) {sum[i][j] sum[i - 1][j] matrix[i][j];} else if (i 0 j 0) {sum[0][0] matrix[0][0];} else {sum[i][j] sum[i - 1][j] sum[i][j - 1] - sum[i - 1][j - 1] matrix[i][j];}}}return sum;}//sum[0][0] 0public static int[][] getPrefixAnd1(int[][] matrix) {int[][] sum new int[matrix.length1][matrix[0].length1];for (int i 1; i matrix.length; i) {for (int j 1; j matrix[0].length; j) {sum[i][j] sum[i][j - 1] matrix[i - 1][j - 1];}}return sum;} }
http://www.hkea.cn/news/14343204/

相关文章:

  • 域名网站账号垂直门户网站都有什么
  • 建设厅网站上怎么实名认证成都网站推广哪家专业
  • 网站注册怎么做青岛网络seo公司
  • wordpress 外贸网站建设网站开发语言排行榜
  • 美容网站制作合肥百度推广优化排名
  • 学字体网站企业网站优化是什么
  • 网站建设找酷风wordpress divi 数据
  • wordpress 出错求职seo推荐
  • 具有价值的响应式网站网站建设以什么盈利
  • 威海房地产网站建设宜阳县住房和城乡建设局网站
  • 奉贤网站建设专家wordpress文档主题
  • 京东网站建设网页设计欣赏案例
  • 抚州教育网站建设重庆装修公司一览表
  • aspx网站架设全省建设信息网站
  • 做高级电工题的网站直播软件开发商
  • 找人做网站维护多少钱.net做网站的方式
  • 南阳淅川县制作网站的公司传媒公司网站建设策划
  • 怎么提高网站收录量计算机网站建设专业热门吗
  • 更改网站名字软件商城电脑版下载
  • 医疗企业网站模板免费下载cdr 做网站
  • 有没有网站专门做cnc招聘做网站不搭建本地环境
  • 网站建设需要购买什么长沙建设品牌网站
  • 网站建设维护费怎么说如何查看一个网站的所有二级域名
  • 智趣游戏型网站开发生产管理软件系统
  • 怎么修改别人做的网站在线设计平台代理加盟
  • 吕子乔做网站一段台词免费网站建设支持ftp
  • 网站制作怎么入门地产网
  • 网站设计学什么专业有限公司和有限责任公司
  • 网站主体变更邯郸企业做网站方案
  • 帝国网站系统做专题做女装的看哪个网站好