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

人脉推广app什么是seo关键词优化

人脉推广app,什么是seo关键词优化,广东知名网站建设,外贸电子商务网站建设矩阵区域和(medium) 题⽬描述:解法:代码Java 算法代码:C 算法代码: 题⽬描述: 题⽬链接:1314. 矩阵区域和 给你⼀个 m x n 的矩阵 mat 和⼀个整数 k ,请你返回⼀个矩阵 …

矩阵区域和(medium)

  • 题⽬描述:
  • 解法:
  • 代码
    • Java 算法代码:
    • C++ 算法代码:

题⽬描述:

题⽬链接:1314. 矩阵区域和

给你⼀个 m x n 的矩阵 mat 和⼀个整数 k ,请你返回⼀个矩阵 answer ,其中每个 answer[i][j] 是所有满⾜下述条件的元素 mat[r][c] 的和:
• i - k <= r <= i + k,
• j - k <= c <= j + k 且
• (r, c) 在矩阵内。
⽰例 1:
输⼊:mat = [[1,2,3],[4,5,6],[7,8,9]], k = 1
输出:[[12,21,16],[27,45,33],[24,39,28]]
⽰例 2:
输⼊:mat = [[1,2,3],[4,5,6],[7,8,9]], k = 2
输出:[[45,45,45],[45,45,45],[45,45,45]]
提⽰:
m = = mat.length
n = = mat[i].length
1 <= m, n, k <= 100
1 <= mat[i][j] <= 100

解法:

算法思路:
在这里插入图片描述
⼆维前缀和的简单应⽤题,关键就是我们在填写结果矩阵的时候,要找到原矩阵对应区域的「左上⻆」以及「右下⻆」的坐标(推荐⼤家画图)
左上⻆坐标: x1 = i - k,y1 = j - k ,但是由于会「超过矩阵」的范围,因此需要对 0
取⼀个 max 。因此修正后的坐标为: x1 = max(0, i - k), y1 = max(0, j - k) ;
右下⻆坐标: x1 = i + k,y1 = j + k ,但是由于会「超过矩阵」的范围,因此需要对 m

  • 1 ,以及 n - 1 取⼀个 min 。因此修正后的坐标为: x2 = min(m - 1, i + k),
    y2 = min(n - 1, j + k) 。
    然后将求出来的坐标代⼊到「⼆维前缀和矩阵」的计算公式上即可~(但是要注意下标的映射关系)
    ![![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/62e1f6f110f14ec98b6257dd19da3768.png)
    在这里插入图片描述

代码

Java 算法代码:

class Solution {public int[][] matrixBlockSum(int[][] mat, int k) {int m = mat.length, n = mat[0].length;// 1. 预处理前缀和矩阵int[][] dp = new int[m + 1][n + 1];//方便处理边界情况for(int i = 1; i <= m; i++)for(int j = 1; j <= n; j++)dp[i][j] = dp[i - 1][j] + dp[i][j - 1] - dp[i - 1][j - 1] + mat[i - 1][j - 1];//注意不是+mat[i][j]// 2. 使⽤int[][] ret = new int[m][n];for(int i = 0; i < m; i++)for(int j = 0; j < n; j++){int x1 = Math.max(0, i - k) + 1, y1 = Math.max(0, j - k) + 1;int x2 = Math.min(m - 1, i + k) + 1, y2 = Math.min(n - 1, j + k) + 1;ret[i][j] = dp[x2][y2] - dp[x1 - 1][y2] - dp[x2][y1 - 1] + dp[x1 - 1][y1 - 1];}return ret;}
}

C++ 算法代码:

class Solution {
public:vector<vector<int>> matrixBlockSum(vector<vector<int>>& mat, int k) {int m = mat.size(), n = mat[0].size();vector<vector<int>> dp(m + 1, vector<int>(n + 1));// 1. 预处理前缀和矩阵for(int i = 1; i <= m; i++)for(int j = 1; j <= n; j++)dp[i][j] = dp[i - 1][j] + dp[i][j - 1] - dp[i - 1][j - 1] + mat[i - 1][j - 1];// 2. 使⽤vector<vector<int>> ret(m, vector<int>(n));for(int i = 0; i < m; i++)for(int j = 0; j < n; j++){int x1 = max(0, i - k) + 1, y1 = max(0, j - k) + 1;int x2 = min(m - 1, i + k) + 1, y2 = min(n - 1, j + k) + 1;ret[i][j] = dp[x2][y2] - dp[x1 - 1][y2] - dp[x2][y1 - 1] + dp[x1 - 1][y1 - 1];}return ret;}
};
http://www.dtcms.com/wzjs/417722.html

相关文章:

  • 商汇通网站百度怎么做广告推广
  • 云南网站定制网页设计的流程
  • 做网站一定要有营业执照吗短视频询盘获客系统
  • 馨端网站建设软文发布平台
  • 做网站需要的大图百度一下官网页
  • 八上电脑课做网站需要什么软件广告联盟平台自动赚钱
  • 做公司网站写什么信息平台优化是指什么
  • 求推荐在哪个网站做德语翻译员知乎关键词排名优化工具
  • 海口市住房和城乡建设局 网站网络推广员怎么做
  • 行业网站推广怎么做凤凰网全国疫情实时动态
  • 两个域名指向同一个网站提高工作效率
  • 网页快照网站常用的网络营销工具有哪些
  • 微信客户端网站建设windows优化大师提供的
  • 江西省赣州市官网seo研究中心教程
  • 阿里云oss可以做网站中国十大企业培训机构排名
  • 没有做网站地图影响大吗吗软文广告发稿
  • 上海代办网站备案怎样通过网络销售自己的产品
  • 杭州网站建设培训竞价托管推广哪家好
  • 兴华建设集团有限公司网站怎样在百度上发布免费广告
  • 网站设计软件培训怎么样高质量网站外链平台
  • go语言做网站云优化seo
  • 查询商品价格走势的网站网络营销是做什么的工作
  • dz网站收款即时到账怎么做的网店营销的推广方法有哪些
  • 专门做图片的网站吗搜索引擎内部优化
  • 大规模301让网站快速排名排行榜哪个网站最好
  • 找做网站公司需要注意什么条件百度如何投放广告
  • 房产类网站开发免费seo培训
  • 备案ip 查询网站查询网站天津seo选天津旗舰科技a
  • 成都市那里有网站建设制作公司百度营销推广官网
  • 写作兼职网站关键词搜索排名公司