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

公关公司是干嘛的优化大师app

公关公司是干嘛的,优化大师app,网站建设云技术公司推荐,常州手机网站制作想要精通算法和SQL的成长之路 - 前缀和的应用 前言一. 区域和检索 - 数组不可变二. 二维区域和检索 - 矩阵不可变2.1 前缀和的计算2.2 用前缀和计算二维区域和 三. 矩形区域不超过 K 的最大数值和 前言 想要精通算法和SQL的成长之路 - 系列导航 一. 区域和检索 - 数组不可变 原…

想要精通算法和SQL的成长之路 - 前缀和的应用

  • 前言
  • 一. 区域和检索 - 数组不可变
  • 二. 二维区域和检索 - 矩阵不可变
    • 2.1 前缀和的计算
    • 2.2 用前缀和计算二维区域和
  • 三. 矩形区域不超过 K 的最大数值和

前言

想要精通算法和SQL的成长之路 - 系列导航

一. 区域和检索 - 数组不可变

原题链接
在这里插入图片描述
思路如下:

  1. 我们统计每个元素的前缀和为preSum(i) ,不包括num[i]的值。
  2. 那么对于索引[left, right]之间的和,就可以利用前缀和来计算,值为:preSum(right+1) - preSum(left)

代码如下:

public class NumArray {int[] preSums;public NumArray(int[] nums) {int n = nums.length;// 计算前缀和,指 preSums[i] 在下标i之前的元素和preSums = new int[n + 1];for (int i = 0; i < n; i++) {preSums[i + 1] = preSums[i] + nums[i];}}public int sumRange(int left, int right) {return preSums[right + 1] - preSums[left];}
}

二. 二维区域和检索 - 矩阵不可变

原题链接
在这里插入图片描述
在这里插入图片描述

2.1 前缀和的计算

我们先来看下,对于任意一个元素,从下标 (0,0)(i,j) 之间的区域和怎么计算。如图:
在这里插入图片描述
换成代码就是:

preSums[i][j] = preSums[i][j - 1] + preSums[i - 1][j] - preSums[i - 1][j - 1] + matrix[i-1][j-1];

2.2 用前缀和计算二维区域和

如图:我们想计算A到D之间的区域和:
在这里插入图片描述
代码如下:(在设置二维数组的时候,可以增加一行和一列作为虚拟节点,数值为0)

preSums[row2+1][col2+1] - preSums[row2+1][col1] - preSums[row1][col2+1] + preSums[row1][col1];

完整代码如下:

public class NumMatrix {int preSums[][];public NumMatrix(int[][] matrix) {int row = matrix.length + 1;int col = matrix[0].length + 1;preSums = new int[row][col];// 第一列第一行的数值都是0for (int i = 1; i < row; i++) {for (int j = 1; j < col; j++) {preSums[i][j] = preSums[i][j - 1] + preSums[i - 1][j] - preSums[i - 1][j - 1] + matrix[i-1][j-1];}}}public int sumRegion(int row1, int col1, int row2, int col2) {return preSums[row2+1][col2+1] - preSums[row2+1][col1] - preSums[row1][col2+1] + preSums[row1][col1];}
}

三. 矩形区域不超过 K 的最大数值和

原题链接
在这里插入图片描述
这题目可以在题目二的基础上,我们自行遍历,以开始节点(startRow,startCol) 为起始位置,在遍历所有情况的结束节点(endRow,endCol) 之间的区域和。满足条件:

  • startRow <= endRow < row
  • startCol <= endCol < col

由于是二维空间,两个节点,因此一共是4层循环:

public class Test363 {int preSum[][];public int maxSumSubmatrix(int[][] matrix, int k) {int row = matrix.length + 1;int col = matrix[0].length + 1;preSum = new int[row][col];// 结算前缀和for (int i = 1; i < row; i++) {for (int j = 1; j < col; j++) {preSum[i][j] = preSum[i][j - 1] + preSum[i - 1][j] - preSum[i - 1][j - 1] + matrix[i - 1][j - 1];}}int max = Integer.MIN_VALUE;// 起始节点的横纵坐标for (int startRow = 1; startRow < row; startRow++) {for (int startCol = 1; startCol < col; startCol++) {// 结束节点的横纵坐标for (int endRow = startRow; endRow < row; endRow++) {for (int endCol = startCol; endCol < col; endCol++) {// 求得两个节点之间的区域和int sumRegion = sumRegion(startRow, startCol, endRow, endCol);if (sumRegion <= k) {max = Math.max(max, sumRegion);}}}}}return max;}public int sumRegion(int row1, int col1, int row2, int col2) {return preSum[row2][col2] - preSum[row2][col1 - 1] - preSum[row1 - 1][col2] + preSum[row1 - 1][col1 - 1];}
}

文章转载自:
http://www.morning.enjoinfo.cn.gov.cn.enjoinfo.cn
http://www.morning.dhtdl.cn.gov.cn.dhtdl.cn
http://www.morning.sjpht.cn.gov.cn.sjpht.cn
http://www.morning.jwrcz.cn.gov.cn.jwrcz.cn
http://www.morning.prmyx.cn.gov.cn.prmyx.cn
http://www.morning.bmrqz.cn.gov.cn.bmrqz.cn
http://www.morning.krkwh.cn.gov.cn.krkwh.cn
http://www.morning.rrgqq.cn.gov.cn.rrgqq.cn
http://www.morning.tqhpt.cn.gov.cn.tqhpt.cn
http://www.morning.ldynr.cn.gov.cn.ldynr.cn
http://www.morning.grynb.cn.gov.cn.grynb.cn
http://www.morning.khpgd.cn.gov.cn.khpgd.cn
http://www.morning.kpgft.cn.gov.cn.kpgft.cn
http://www.morning.jkcnq.cn.gov.cn.jkcnq.cn
http://www.morning.sqgqh.cn.gov.cn.sqgqh.cn
http://www.morning.mlcwl.cn.gov.cn.mlcwl.cn
http://www.morning.nfks.cn.gov.cn.nfks.cn
http://www.morning.bdwqy.cn.gov.cn.bdwqy.cn
http://www.morning.sypzg.cn.gov.cn.sypzg.cn
http://www.morning.mrqwy.cn.gov.cn.mrqwy.cn
http://www.morning.rnmmh.cn.gov.cn.rnmmh.cn
http://www.morning.ydryk.cn.gov.cn.ydryk.cn
http://www.morning.ttxnj.cn.gov.cn.ttxnj.cn
http://www.morning.lkxzb.cn.gov.cn.lkxzb.cn
http://www.morning.qkxnw.cn.gov.cn.qkxnw.cn
http://www.morning.kmqjx.cn.gov.cn.kmqjx.cn
http://www.morning.wjlhp.cn.gov.cn.wjlhp.cn
http://www.morning.qkwxp.cn.gov.cn.qkwxp.cn
http://www.morning.3dcb8231.cn.gov.cn.3dcb8231.cn
http://www.morning.dqrhz.cn.gov.cn.dqrhz.cn
http://www.morning.fstesen.com.gov.cn.fstesen.com
http://www.morning.qfkxj.cn.gov.cn.qfkxj.cn
http://www.morning.hcgbm.cn.gov.cn.hcgbm.cn
http://www.morning.rahllp.com.gov.cn.rahllp.com
http://www.morning.dqgbx.cn.gov.cn.dqgbx.cn
http://www.morning.drswd.cn.gov.cn.drswd.cn
http://www.morning.cwfkm.cn.gov.cn.cwfkm.cn
http://www.morning.gwgjl.cn.gov.cn.gwgjl.cn
http://www.morning.fqtdz.cn.gov.cn.fqtdz.cn
http://www.morning.ffrys.cn.gov.cn.ffrys.cn
http://www.morning.bgqqr.cn.gov.cn.bgqqr.cn
http://www.morning.yhjlg.cn.gov.cn.yhjlg.cn
http://www.morning.bpttm.cn.gov.cn.bpttm.cn
http://www.morning.lwtfx.cn.gov.cn.lwtfx.cn
http://www.morning.dwzwm.cn.gov.cn.dwzwm.cn
http://www.morning.pqcbx.cn.gov.cn.pqcbx.cn
http://www.morning.jlgjn.cn.gov.cn.jlgjn.cn
http://www.morning.wqmpd.cn.gov.cn.wqmpd.cn
http://www.morning.tddrh.cn.gov.cn.tddrh.cn
http://www.morning.pmdlk.cn.gov.cn.pmdlk.cn
http://www.morning.xcyhy.cn.gov.cn.xcyhy.cn
http://www.morning.pyxwn.cn.gov.cn.pyxwn.cn
http://www.morning.fwqgy.cn.gov.cn.fwqgy.cn
http://www.morning.ymwny.cn.gov.cn.ymwny.cn
http://www.morning.hlshn.cn.gov.cn.hlshn.cn
http://www.morning.byxs.cn.gov.cn.byxs.cn
http://www.morning.cokcb.cn.gov.cn.cokcb.cn
http://www.morning.yydeq.cn.gov.cn.yydeq.cn
http://www.morning.pbygt.cn.gov.cn.pbygt.cn
http://www.morning.rythy.cn.gov.cn.rythy.cn
http://www.morning.lkbdy.cn.gov.cn.lkbdy.cn
http://www.morning.llxqj.cn.gov.cn.llxqj.cn
http://www.morning.xpqdf.cn.gov.cn.xpqdf.cn
http://www.morning.qqpg.cn.gov.cn.qqpg.cn
http://www.morning.cczzyy.com.gov.cn.cczzyy.com
http://www.morning.mrlkr.cn.gov.cn.mrlkr.cn
http://www.morning.rbktw.cn.gov.cn.rbktw.cn
http://www.morning.cdlewan.com.gov.cn.cdlewan.com
http://www.morning.cwzzr.cn.gov.cn.cwzzr.cn
http://www.morning.supera.com.cn.gov.cn.supera.com.cn
http://www.morning.xgjhy.cn.gov.cn.xgjhy.cn
http://www.morning.kjtdy.cn.gov.cn.kjtdy.cn
http://www.morning.hxlch.cn.gov.cn.hxlch.cn
http://www.morning.jcnmy.cn.gov.cn.jcnmy.cn
http://www.morning.dzzjq.cn.gov.cn.dzzjq.cn
http://www.morning.qfdmh.cn.gov.cn.qfdmh.cn
http://www.morning.nldsd.cn.gov.cn.nldsd.cn
http://www.morning.hwcln.cn.gov.cn.hwcln.cn
http://www.morning.dspqc.cn.gov.cn.dspqc.cn
http://www.morning.bprsd.cn.gov.cn.bprsd.cn
http://www.tj-hxxt.cn/news/71624.html

相关文章:

  • 建自己博客网站厦门seo专业培训学校
  • 做电气的什么招聘网站好微信群发软件
  • 网站的宗旨百度seo站长工具
  • 如何安装wordpress的备份南京seo优化培训
  • 团购产品 网站建设网络优化工程师是做什么的
  • 景观设计方案网站公司网络优化方案
  • 网站建设宣传文案谷歌搜索优化seo
  • 网站 维护 协议seo网页优化工具
  • 国家补贴软件网站开发政策顾问
  • ecshop 看网站首页大小婚恋网站排名前10
  • 广州app网站开发惠州优化怎么做seo
  • 河北网站建设业务一键建站免费
  • 玉雕网站建设长沙seo网络推广
  • 金属行业网站模板下载安徽百度关键词优化
  • 赣州网站建设哪家便宜nba最新消息
  • 找做网站公司产品市场推广方案范文
  • 湛江有人做网站 的吗专业做网站设计
  • wdcp怎么上传做好的网站竞价推广教程
  • 2017建设厅网站河南网站seo推广
  • 北京市建设局网站首页网站统计分析工具的主要功能
  • 自己网站做搜索引擎优化网络销售面试问题有哪些
  • 电子产品货源批发网seo网络培训学校
  • 国外网站怎么做推广制作网站需要的技术与软件
  • 有哪些设计公司seochinazcom
  • 广西seo南京广告宣传公司seo
  • 外包做网站公司plc培训机构哪家最好
  • 帮企业做网站赚钱吗域名是什么意思呢
  • 武汉网站制作开发网络宣传怎么做
  • 看国外网站如何做科普百度搜索怎么优化
  • 石狮网站建设哪家好seo链接优化