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

3242. 设计相邻元素求和服务

力扣刷题记录

模拟

3242. 设计相邻元素求和服务

思路

这一题直接模拟即可
两层for循环找到value的位置,根据该位置将对应的数相加,如果相邻的数字 索引越界了则不加

代码
class NeighborSum:def __init__(self, grid: List[List[int]]):self.grid = griddef adjacentSum(self, value: int) -> int:row, col = 0, 0for i in range(len(self.grid)):for j in range(len(self.grid[0])):if self.grid[i][j] == value:row = i col = jbreakelse:continuebreaksum = 0if row - 1 >= 0:sum += self.grid[row-1][col]if row + 1 < len(self.grid):sum += self.grid[row+1][col]if col - 1 >= 0:sum += self.grid[row][col-1]if col + 1 < len(self.grid[0]):sum += self.grid[row][col+1]return sumdef diagonalSum(self, value: int) -> int:row, col = 0, 0for i in range(len(self.grid)):for j in range(len(self.grid[0])):if self.grid[i][j] == value:row = i col = jbreakelse:continuebreaksum = 0if row - 1 >= 0 and col - 1 >= 0:sum += self.grid[row-1][col-1]if row + 1 < len(self.grid) and col + 1 < len(self.grid[0]):sum += self.grid[row+1][col+1]if row + 1 < len(self.grid) and col - 1 >= 0:sum += self.grid[row+1][col-1]if row - 1 >= 0 and col + 1 < len(self.grid[0]):sum += self.grid[row-1][col+1]return sum# Your NeighborSum object will be instantiated and called as such:
# obj = NeighborSum(grid)
# param_1 = obj.adjacentSum(value)
# param_2 = obj.diagonalSum(value)

http://www.mrgr.cn/news/69106.html

相关文章:

  • 运维规范心得
  • 【linux】再谈网络基础(二)
  • 如何判断 Hive 表是内部表还是外部表
  • C#入门 017 字段,属性,索引器,常量
  • 深入 MyBatis-Plus 插件:解锁高级数据库功能
  • ProcessBuilder调用脚本执行
  • Qt使用属性树(QtProPertyBrowser)时,引用报错#include “QtTreePropertyBrowser“解决方案
  • 星期-时间范围选择器 滑动选择时间 最小粒度 vue3
  • 浅谈web性能测试
  • 智能问答系统流程详解:多轮对话与模型训练的技术要点及案例
  • Unet++改进11:添加MLCA||轻量级的混合本地信道注意机制
  • Linux可视化工具cockpit
  • tar | 打包 | 压缩 | 文件搜索 | 常用命令(二)
  • 浮点数转4字节数组在线转换工具
  • Python内置函数1详解案例
  • Python 基础语法 二维列表
  • Sigrity SPEED2000 Power Ground Noise Simulation模式如何进行电源阻抗仿真分析操作指导(一)-无电容
  • 【贪心】【哈希】个人练习-Leetcode-1296. Divide Array in Sets of K Consecutive Numbers
  • 国内AI工具复现GPTs效果详解
  • Rust项目中的Labels