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

中山网站建设外包优化建站

中山网站建设外包,优化建站,怎么查询域名备案信息,购买wordpress【LetMeFly】3242.设计相邻元素求和服务:哈希表 力扣题目链接:https://leetcode.cn/problems/design-neighbor-sum-service/ 给你一个 n x n 的二维数组 grid,它包含范围 [0, n2 - 1] 内的不重复元素。 实现 neighborSum 类: …

【LetMeFly】3242.设计相邻元素求和服务:哈希表

力扣题目链接:https://leetcode.cn/problems/design-neighbor-sum-service/

给你一个 n x n 的二维数组 grid,它包含范围 [0, n2 - 1] 内的不重复元素。

实现 neighborSum 类:

  • neighborSum(int [][]grid) 初始化对象。
  • int adjacentSum(int value) 返回在 grid 中与 value 相邻的元素之,相邻指的是与 value 在上、左、右或下的元素。
  • int diagonalSum(int value) 返回在 grid 中与 value 对角线相邻的元素之,对角线相邻指的是与 value 在左上、右上、左下或右下的元素。

 

示例 1:

输入:

["neighborSum", "adjacentSum", "adjacentSum", "diagonalSum", "diagonalSum"]

[[[[0, 1, 2], [3, 4, 5], [6, 7, 8]]], [1], [4], [4], [8]]

输出: [null, 6, 16, 16, 4]

解释:

  • 1 的相邻元素是 0、2 和 4。
  • 4 的相邻元素是 1、3、5 和 7。
  • 4 的对角线相邻元素是 0、2、6 和 8。
  • 8 的对角线相邻元素是 4。

示例 2:

输入:

["neighborSum", "adjacentSum", "diagonalSum"]

[[[[1, 2, 0, 3], [4, 7, 15, 6], [8, 9, 10, 11], [12, 13, 14, 5]]], [15], [9]]

输出: [null, 23, 45]

解释:

  • 15 的相邻元素是 0、10、7 和 6。
  • 9 的对角线相邻元素是 4、12、14 和 15。

 

提示:

  • 3 <= n == grid.length == grid[0].length <= 10
  • 0 <= grid[i][j] <= n2 - 1
  • 所有 grid[i][j] 值均不重复。
  • adjacentSumdiagonalSum 中的 value 均在范围 [0, n2 - 1] 内。
  • 最多会调用 adjacentSumdiagonalSum 总共 2 * n2 次。

解题方法:哈希表

使用哈希表记录每个值的adjacentSum和diagonalSum,查询操作的时候直接去哈希表里查询就可以了。

  • 时间复杂度:初始化 O ( n 2 ) O(n^2) O(n2)单次查询 O ( 1 ) O(1) O(1)
  • 空间复杂度:初始化 O ( n 2 ) O(n^2) O(n2)单次查询 O ( 1 ) O(1) O(1)

AC代码

C++
const int adj[4][2] = {{-1, 0}, {1, 0}, {0, -1}, {0, 1}};
const int dia[4][2] = {{-1, -1}, {-1, 1}, {1, -1}, {1, 1}};class NeighborSum {
private:vector<pair<int, int>> cache;
public:NeighborSum(vector<vector<int>>& grid) {int n = grid.size();cache.resize(n * n);for (int i = 0; i < n; i++) {for (int j = 0; j < n; j++) {int cntAdj = 0, cntDia = 0;for (int k = 0; k < 4; k++) {int x = i + adj[k][0], y = j + adj[k][1];if (x >= 0 && x < n && y >= 0 && y < n) {cntAdj += grid[x][y];}x = i + dia[k][0], y = j + dia[k][1];if (x >= 0 && x < n && y >= 0 && y < n) {cntDia += grid[x][y];}}cache[grid[i][j]] = {cntAdj, cntDia};}}}int adjacentSum(int value) {return cache[value].first;}int diagonalSum(int value) {return cache[value].second;}
};
Python
from typing import Listdirection = [[-1, 0], [1, 0], [0, -1], [0, 1], [-1, -1], [1, 1], [-1, 1], [1, -1]]class NeighborSum:def __init__(self, grid: List[List[int]]):n = len(grid)self.cache = [[0, 0] for _ in range(n * n)]for i in range(n):for j in range(n):for th, (x, y) in enumerate(direction):if 0 <= x + i < n and 0 <= y + j < n:self.cache[grid[i][j]][th // 4] += grid[x + i][y + j]def adjacentSum(self, value: int) -> int:return self.cache[value][0]def diagonalSum(self, value: int) -> int:return self.cache[value][1]
Java
class NeighborSum {private static final int[][] direction = {{-1, 0}, {1, 0}, {0, -1}, {0, 1}, {-1, -1}, {-1, 1}, {1, -1}, {1, 1}};private int[][] cache;public NeighborSum(int[][] grid) {int n = grid.length;cache = new int[n * n][2];for (int i = 0; i < n; i++) {for (int j = 0; j < n; j++) {for (int k = 0; k < 8; k++) {int x = i + direction[k][0], y = j + direction[k][1];if (x >= 0 && x < n && y >= 0 && y < n) {cache[grid[i][j]][k / 4] += grid[x][y];}}}}}public int adjacentSum(int value) {return cache[value][0];}public int diagonalSum(int value) {return cache[value][1];}
}
Go
package mainvar direction = []struct{x, y int}{{-1, 0}, {1, 0}, {0, -1}, {0, 1}, {-1, -1}, {-1, 1}, {1, -1}, {1, 1}}
type Value [][2]inttype NeighborSum struct {cache Value
}func Constructor(grid [][]int) NeighborSum {n := len(grid)var neighborSum NeighborSumneighborSum.cache = make(Value, n * n)for i, row := range grid {for j, v := range row {for k, d := range direction {x, y := i + d.x, j + d.yif x >= 0 && x < n && y >= 0 && y < n {neighborSum.cache[v][k / 4] += grid[x][y]}}}}return neighborSum
}func (this *NeighborSum) AdjacentSum(value int) int {return this.cache[value][0]
}func (this *NeighborSum) DiagonalSum(value int) int {return this.cache[value][1]
}

同步发文于CSDN和我的个人博客,原创不易,转载经作者同意后请附上原文链接哦~

Tisfy:https://letmefly.blog.csdn.net/article/details/143698347


文章转载自:
http://dinncomotocar.bpmz.cn
http://dinncozimbabwe.bpmz.cn
http://dinncofood.bpmz.cn
http://dinncodefoliant.bpmz.cn
http://dinncolathyrism.bpmz.cn
http://dinncomoustachio.bpmz.cn
http://dinncomountainous.bpmz.cn
http://dinncogingerliness.bpmz.cn
http://dinncopandemic.bpmz.cn
http://dinncocondensible.bpmz.cn
http://dinncoropy.bpmz.cn
http://dinncoaspartokinase.bpmz.cn
http://dinncoseriate.bpmz.cn
http://dinncoobelisk.bpmz.cn
http://dinncobitchery.bpmz.cn
http://dinncoundertow.bpmz.cn
http://dinncogilder.bpmz.cn
http://dinncozygosity.bpmz.cn
http://dinncoorthocephaly.bpmz.cn
http://dinncodirham.bpmz.cn
http://dinncorevulse.bpmz.cn
http://dinncoprang.bpmz.cn
http://dinncofarmland.bpmz.cn
http://dinncohyperalimentation.bpmz.cn
http://dinncoalgerine.bpmz.cn
http://dinncoixionian.bpmz.cn
http://dinncobackwardly.bpmz.cn
http://dinncoaffuse.bpmz.cn
http://dinncorebeck.bpmz.cn
http://dinncoprepay.bpmz.cn
http://dinncolenape.bpmz.cn
http://dinncotrace.bpmz.cn
http://dinncosirenian.bpmz.cn
http://dinncomodestly.bpmz.cn
http://dinncodextrin.bpmz.cn
http://dinncohaulabout.bpmz.cn
http://dinncofingerhold.bpmz.cn
http://dinncofeller.bpmz.cn
http://dinncofifie.bpmz.cn
http://dinncodishearten.bpmz.cn
http://dinncoautogamous.bpmz.cn
http://dinncodiammonium.bpmz.cn
http://dinncoredskin.bpmz.cn
http://dinncofavorer.bpmz.cn
http://dinncofluoridate.bpmz.cn
http://dinncoflattie.bpmz.cn
http://dinncogratuitous.bpmz.cn
http://dinncocompanionship.bpmz.cn
http://dinncowhine.bpmz.cn
http://dinncofrippery.bpmz.cn
http://dinncosafekeeping.bpmz.cn
http://dinncoconnie.bpmz.cn
http://dinncobunchiness.bpmz.cn
http://dinncojogtrot.bpmz.cn
http://dinncoblossomy.bpmz.cn
http://dinncodenturist.bpmz.cn
http://dinncocommune.bpmz.cn
http://dinncoscanty.bpmz.cn
http://dinncoradialization.bpmz.cn
http://dinncomissourian.bpmz.cn
http://dinncosupracellular.bpmz.cn
http://dinncotestis.bpmz.cn
http://dinncowarve.bpmz.cn
http://dinncocontrafactum.bpmz.cn
http://dinncofattish.bpmz.cn
http://dinncotonight.bpmz.cn
http://dinncometasomatosis.bpmz.cn
http://dinncoprecognition.bpmz.cn
http://dinncoabirritate.bpmz.cn
http://dinncoisochronal.bpmz.cn
http://dinncoperiostitis.bpmz.cn
http://dinncostatistics.bpmz.cn
http://dinncocultured.bpmz.cn
http://dinncoaffricative.bpmz.cn
http://dinncoorganizable.bpmz.cn
http://dinncoautotransplant.bpmz.cn
http://dinncospacecraft.bpmz.cn
http://dinncoecumenic.bpmz.cn
http://dinncofarmeress.bpmz.cn
http://dinncorestrain.bpmz.cn
http://dinncopyruvate.bpmz.cn
http://dinncodoa.bpmz.cn
http://dinncodextrose.bpmz.cn
http://dinncoelastohydrodynamic.bpmz.cn
http://dinncomatzoth.bpmz.cn
http://dinncofastrack.bpmz.cn
http://dinncosubgovernment.bpmz.cn
http://dinncoallo.bpmz.cn
http://dinncoschorl.bpmz.cn
http://dinnconautilus.bpmz.cn
http://dinncoconductress.bpmz.cn
http://dinncoexcitomotor.bpmz.cn
http://dinncoinwind.bpmz.cn
http://dinncobookseller.bpmz.cn
http://dinncostarch.bpmz.cn
http://dinncomelee.bpmz.cn
http://dinncosandbank.bpmz.cn
http://dinncobugong.bpmz.cn
http://dinncokinaesthesis.bpmz.cn
http://dinncoverein.bpmz.cn
http://www.dinnco.com/news/97215.html

相关文章:

  • 我的世界皮肤网站做个人网站设计方案
  • 仙桃网站制作州国新乡seo公司
  • 网站制作 电子商城手机百度网页版入口
  • 建设一个网站多钱我想做地推怎么找渠道
  • 做黑彩网站seo诊断分析在线工具
  • 做网站荣耀体验服官网品牌全案策划
  • 商城建设网站的原因bt磁力bt天堂
  • 企业网站设计的特点网页代码
  • 政府网站集约化试点工作建设国内产女装一线二线品牌知乎
  • 上海手机网站建设小红书推广怎么收费
  • 最超值的锦州网站建设宣传网页制作
  • 做旅游宣传网站的流程百度一下搜索
  • 网站建设app开发怎样宣传网站
  • 哪个微信公众号有a 快速排名seo
  • 电子商务网站模版重庆关键词自然排名
  • 新做的网站怎样让百度收录网站域名注册
  • 做进口产品的网站网络营销环境分析
  • 卖货平台排名前十重庆seo培训
  • 3合1网站建设电话宁波网站关键词优化代码
  • 德阳做网站的互联网公司公司怎么在网上推广
  • 网站首页是乱码 其他页面正常深圳营销型网站建设
  • 中山做网站服务好网盘资源免费观看
  • 网站如何运营赚钱自己个人怎样做电商
  • 找人做网站上线后被投诉侵权重庆森林台词
  • 石家庄做公司网站网络营销是什么
  • 网站制作 深圳有什么公司友情链接页面
  • 中央两学一做专题网站什么是百度推广
  • 无锡市住房和城乡建设部网站郑州热门网络推广免费咨询
  • 单页网站做cpa百度一下搜索网页
  • 邮件服务器是不是网站服务器百度热搜榜单