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

网站做友情链接怎样把自己做的网站上传

网站做友情链接,怎样把自己做的网站上传,电商网站建设选迅法网,局部翻新装修公司文章目录 题目303、区域和检索#xff08;数组不可变#xff09;304、二维区域和检索#xff08;矩阵不可变#xff09; 解①303#xff0c;一维前缀和②304#xff0c;二维前缀和 算法前缀和一维前缀和二维前缀和 题目 303、区域和检索#xff08;数组不可变#xff… 文章目录 题目303、区域和检索数组不可变304、二维区域和检索矩阵不可变 解①303一维前缀和②304二维前缀和 算法前缀和一维前缀和二维前缀和 题目 303、区域和检索数组不可变 给定一个整数数组 nums处理以下类型的多个查询: 计算索引 left 和 right 包含 left 和 right之间的 nums 元素的 和 其中 left right 实现 NumArray 类 NumArray(int[] nums) 使用数组 nums 初始化对象int sumRange(int i, int j) 返回数组 nums 中索引 left 和 right 之间的元素的 总和 包含 left 和 right 两点也就是 nums[left] nums[left 1] ... nums[right] ) 示例 1 输入 [NumArray, sumRange, sumRange, sumRange] [[[-2, 0, 3, -5, 2, -1]], [0, 2], [2, 5], [0, 5]] 输出 [null, 1, -1, -3]解释 NumArray numArray new NumArray([-2, 0, 3, -5, 2, -1]); numArray.sumRange(0, 2); // return 1 ((-2) 0 3) numArray.sumRange(2, 5); // return -1 (3 (-5) 2 (-1)) numArray.sumRange(0, 5); // return -3 ((-2) 0 3 (-5) 2 (-1))304、二维区域和检索矩阵不可变 给定一个二维矩阵 matrix以下类型的多个请求 计算其子矩形范围内元素的总和该子矩阵的 左上角 为 (row1, col1) 右下角 为 (row2, col2) 。 实现 NumMatrix 类 NumMatrix(int[][] matrix) 给定整数矩阵 matrix 进行初始化int sumRegion(int row1, int col1, int row2, int col2) 返回 左上角 (row1, col1) 、右下角 (row2, col2) 所描述的子矩阵的元素 总和 。 示例 1 输入: [NumMatrix,sumRegion,sumRegion,sumRegion] [[[[3,0,1,4,2],[5,6,3,2,1],[1,2,0,1,5],[4,1,0,1,7],[1,0,3,0,5]]],[2,1,4,3],[1,1,2,2],[1,2,2,4]] 输出: [null, 8, 11, 12]解释: NumMatrix numMatrix new NumMatrix([[3,0,1,4,2],[5,6,3,2,1],[1,2,0,1,5],[4,1,0,1,7],[1,0,3,0,5]]); numMatrix.sumRegion(2, 1, 4, 3); // return 8 (红色矩形框的元素总和) numMatrix.sumRegion(1, 1, 2, 2); // return 11 (绿色矩形框的元素总和) numMatrix.sumRegion(1, 2, 2, 4); // return 12 (蓝色矩形框的元素总和)解 ①303一维前缀和 class Solution {public int[] productExceptSelf(int[] nums) {int lennums.length;int[] answernew int[len];answer[0]1;for(int i1;ilen;i){answer[i]nums[i-1]*answer[i-1];}int Rnums[len-1]; // R存储右侧所有元素乘积for (int i len - 2; i 0; i--) {answer[i] answer[i] * R;RR*nums[i];}return answer;} }②304二维前缀和 class NumMatrix {int[][] sum;public NumMatrix(int[][] matrix) {int mmatrix.length,nmatrix[0].length;sumnew int[m1][n1];for(int i1;im;i){for(int j1;jn;j){sum[i][j]sum[i-1][j]sum[i][j-1]-sum[i-1][j-1]matrix[i-1][j-1];}}}public int sumRegion(int row1, int col1, int row2, int col2) {return sum[row21][col21]-sum[row1][col21]-sum[row21][col1]sum[row1][col1];} }算法 前缀和 前缀和是一种常见的算法技巧用于快速计算数组中某个区间内元素的和通常用于优化处理大量的区间求和问题比如给定一个数组询问其中某个连续区间内元素的和。 算法原理 前缀和的核心思想是通过对数组进行预处理计算出从数组开头到每个位置的元素累加和然后利用这些预先计算好的累加和在O(1)时间内求出任意区间的和。假设给定数组为A其前缀和数组为prefix其中prefix[i]表示数组A从0到i的元素和。 一维前缀和 假设给定数组为A [1, 2, 3, 4, 5]其前缀和数组为prefix [1, 3, 6, 10, 15]。 但在①②中A数组的前缀和应当为prefix [0,1, 3, 6, 10, 15]比原数组要多一个。 在计算任意区间的和时通过在前缀和数组中添加0可以统一处理起始位置为0的边界情况无需单独考虑。例如对于查询区间[0, 3]直接使用prefix[3]即可得到结果无需特殊处理。 具体使用的时候建议用草稿纸绘制相关的数组或者矩阵的图形进行检验。 二维前缀和 二维的前缀和更为复杂 A [ [1, 2, 3], [4, 5, 6], [7, 8, 9] ] prefix [ [1, 3, 6], [5, 12, 21], [12, 27, 45] ] prefix[i] [j] A[i] [j] prefix[i-1] [j] prefix[i] [j-1] - prefix[i-1] [j-1] 可以用下图帮助理解图源LeetCode负雪明烛 至于输出的公式也类似于上面的用右下角位置加上左上角-1的位置减去区域右上角和左下角 areasum[row21] [col21]-sum[row1] [col21]-sum[row21] [col1]sum[row1] [col1]为了方便书写代码实际矩阵比原矩阵大一圈所以这里所有的加减都在原矩阵基础上1
http://www.hkea.cn/news/14346227/

相关文章:

  • 广州h5网站制作软件培训机构有哪些?哪个比较好
  • 广州市网站建设分站价格西安专业做网站的公司
  • 泰州企业网站建设网站域名到期时间查询
  • 广汉市 建设局网站网站图片倒计时怎么做的
  • 网站可以做系统吗手机网站适合分开做
  • 成都网站建设s1emens中国建设集团门户网
  • 如何做资源论坛网站分类网站作用
  • 做网站的哪家公司好wordpress发布文章添加新字段
  • 中山市城乡住房建设局网站吉林省建设安全监督站网站
  • 网站首页改版影响优化怎么才能注册做网站
  • 手机网站会员中心模板下载不用dw怎么做网站
  • 毕业作品是做网站的答辩会问什么WordPress头像美化插件
  • 成都大丰网站建设ftp上传网站
  • 网站建设的语言做的视频发到哪个网站好
  • 塑胶东莞网站建设技术支持怎样在微信小程序里开店
  • 宁波网站建设明细报价百度爱采购竞价
  • 做网站一定需要主机吗中山币做网站公司
  • 北京市建设厅网站首页大型网站建设地址
  • 网站建设经典范例悦诗风吟网站建设策划书
  • 做汽车网站怎么挣钱吗万网官网登录
  • 高中教做网站的软件高德地图可以看国外的地图吗
  • 自己如何建设刷赞网站appstore官网入口
  • 建网站教学视频校园网站建设毕业设计
  • 建设用地规划许可证查询网站网络推广平台排行榜
  • 企业网站建设犇类建筑网站建站公司模板
  • 网络工程师资料南通优化网站价格
  • 招聘网站建设初衷建设银行网址官方网址
  • 帮别人设计网站的网站wordpress支付宝接口
  • ui最好的网站浦元品牌网站建设
  • 神奇网站邵东微网站建设