• 每日一题力扣498


    给定一个含有 M x N 个元素的矩阵(M 行,N 列),请以对角线遍历的顺序返回这个矩阵中的所有元素,对角线遍历如下图所示。

    正解:

    这道题太焦心了!

    class Solution:
        def findDiagonalOrder(self, matrix: List[List[int]]) -> List[int]:
            if not matrix: return []
            row = len(matrix)
            col = len(matrix[0])
            res = []
            i = j = 0
            for _ in range(row*col):#有多少个数就查询多少次
                res.append(matrix[i][j])#把第一个数加进来
                if i == 0 and j%2 == 0 and j < col-1:#第一行中找偶数列,找开始
                    j += 1#就往右走,准备从右上往左下走
                elif (i+j)%2 == 0 and j == col-1:#奇数列,找终止
                    i += 1#就往下走
                elif j == 0 and i%2 == 1 and i < row-1:#第一列中找奇数列,找开始
                    i += 1
                elif (i+j)%2 == 1 and i == row-1:##偶数列,找终止
                    j += 1#那就往右走,准备从左下往右上走
                elif (i+j)%2 == 1:
                    i += 1
                    j -= 1
                elif (i+j)%2 == 0:
                    i -= 1
                    j += 1
            return res
  • 相关阅读:
    Django学习笔记8
    Django杂记
    Django学习笔记7
    MongoDB
    python爬虫pyquery库详解
    python爬虫urllib库详解
    Django学习笔记13
    OpenCV(二)
    [译文]casperjs的API-colorizer模块
    什么是探索性测试?
  • 原文地址:https://www.cnblogs.com/liuxiangyan/p/14471136.html
Copyright © 2020-2023  润新知