leetcode-163周赛-1260-二维网格迁移
2024-09-05 15:31:02
题目描述:
自己的提交:
class Solution:
def shiftGrid(self, grid: List[List[int]], k: int) -> List[List[int]]:
m,n = len(grid),len(grid[0])
while k:
tmp = [[0] * n for _ in range(m)]
for i in range(m):
for j in range(n):
if j == 0 and i == 0:
tmp[i][j] = grid[m-1][n-1]
elif j == 0:
tmp[i][j] = grid[i-1][n-1]
else:
tmp[i][j] = grid[i][j-1]
grid = tmp
k -= 1
return grid
优化:
class Solution:
def shiftGrid(self, grid: List[List[int]], k: int) -> List[List[int]]:
n, m = len(grid), len(grid[0])
ans = [[0]*m for _ in range(n)]
for i in range(n):
for j in range(m):
p = (i * m + j + k) % (m*n)
ans[p//m][p%m] = grid[i][j]
return ans
方法二:
class Solution(object):
def shiftGrid(self, A, k):
vals = []
for r, row in enumerate(A):
for c, val in enumerate(row):
vals.append(val) N = len(A) * len(A[0])
k %= N
if k:
vals = vals[-k:] + vals[:-k]
else:
return A
vals = collections.deque(vals)
for r, row in enumerate(A):
for c, v in enumerate(row):
A[r][c] = vals.popleft() return A
最新文章
- IP数据报首部解析
- sublime使用小技巧——自动保存后缀名与自动匹配语法
- Android活动启动模式
- BZOJ1315 : Ural1557Network Attack
- Linux高级编程--05.文件读写
- 关于PHP 7你必须知道的五件事
- c#导出Excel 使用EXCEL进程
- 编程小计——消除Graphics图像边缘颜色不纯(抗锯齿)
- geotools导入shp文件到Oracle数据库时表名带下划线的问题解决
- [置顶] oracle存储过程中单引号及字符串拼接处理
- scrapy_图片下载
- UE4网络同步属性笔记
- Dynamics Customer Engagement V9版本配置面向Internet的部署时候下一步按钮不可点击的解决办法
- python 多线程小练习
- C# 试图加载格式不正确的程序。 (异常来自 HRESULT:0x8007000B)
- java----代理机制或动态类的生成
- 安卓 内存泄漏 MemoryAnalyzer
- computed属性与methods、watched
- 【AWS】亚马逊云常用服务解释
- 是男人就下100层【第四层】——Crazy贪吃蛇(2)
热门文章
- zabbix监控nginx status页面
- Update Vim to 8.0 in Ubuntu
- JindoFS解析 - 云上大数据高性能数据湖存储方案
- 理解webpack中的process.env.NODE_ENV
- 使用Github SSH Key来避免Hexo部署时输入账户密码
- 8. Jmeter导入jar包
- jwt token校验获取用户数据
- Node.js、vue.js的使用
- 神器,阿里巴巴Java代码检查插件
- leetcode.数组.667优美的排列II-Java