1 Star 0 Fork 0

yuhang2__2/LeetCode-Solutions

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
minimum-swaps-to-arrange-a-binary-grid.py 758 Bytes
一键复制 编辑 原始数据 按行查看 历史
# Time: O(n^2)
# Space: O(1)
import itertools
class Solution(object):
def minSwaps(self, grid):
"""
:type grid: List[List[int]]
:rtype: int
"""
result = 0
for target in reversed(xrange(1, len(grid))):
row_idx = len(grid)-1-target
while row_idx < len(grid):
row = grid[row_idx]
if not sum(itertools.islice(row, len(row)-target, len(row))):
break
row_idx += 1
else:
return -1
while row_idx != len(grid)-1-target:
grid[row_idx], grid[row_idx-1] = grid[row_idx-1], grid[row_idx]
result += 1
row_idx -= 1
return result
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/yuhang2__2/LeetCode-Solutions.git
git@gitee.com:yuhang2__2/LeetCode-Solutions.git
yuhang2__2
LeetCode-Solutions
LeetCode-Solutions
master

搜索帮助