LeetCode题解(0999):可以被一步捕获的棋子数(Python)
发布日期:2021-06-29 19:55:06 浏览次数:3 分类:技术文章

本文共 812 字,大约阅读时间需要 2 分钟。

题目:(简单)

解法 时间复杂度 空间复杂度 执行用时
Ans 1 (Python) O ( N 2 ) O(N^2) O(N2) O ( 1 ) O(1) O(1) 32ms (97.09%)
Ans 2 (Python)
Ans 3 (Python)

LeetCode的Python执行用时随缘,只要时间复杂度没有明显差异,执行用时一般都在同一个量级,仅作参考意义。

解法一:

def numRookCaptures(self, board: List[List[str]]) -> int:    # 寻找白色车的位置    x = -1    y = -1    for i in range(8):        for j in range(8):            if board[i][j] == "R":                x = i                y = j                break    if x == -1:        return 0    # 计算目标数量    ans = 0    for orient in [(0, 1), (1, 0), (0, -1), (-1, 0)]:        dx = x        dy = y        while 0 <= dx < 8 and 0 <= dy < 8:            if board[dx][dy] == "B":                break            elif board[dx][dy] == "p":                ans += 1                break            dx += orient[0]            dy += orient[1]    return ans

转载地址:https://dataartist.blog.csdn.net/article/details/107097929 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:LeetCode题解(1002):查找常用字符(Python)
下一篇:LeetCode题解(0997):找到小镇的法官(Python)

发表评论

最新留言

感谢大佬
[***.8.128.20]2024年05月03日 14时37分58秒