zoukankan      html  css  js  c++  java
  • LeetCode: 对角线遍历

    对角线遍历

    要求

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

    思路

    判断奇数和偶数行,进行M和N得大小加减。

    示例

    class Solution {
    public:
        vector<int> findDiagonalOrder(vector<vector<int>>& matrix) {
            vector<int> out;
            if(matrix.empty()){
                return out;
            }
            int i=0,j=0,sum=matrix[0].size()*matrix.size();
            for(int count=0;count<sum;count++){
                out.push_back(matrix[i][j]);
                if((i+j)%2==0){//偶数行
                    if(j==matrix[0].size()-1){
                        i++;
                    }else if(i==0){
                        j++;                    
                    }else{
                        i--;
                        j++;
                    }
             
                }
                else{//奇数行
                    if(i==matrix.size()-1){
                        j++;
                    }else if(j==0){
                        i++;
                    }else{
                        i++;
                        j--;
                    }
                }
            }
            return out;
        }
    };
    
    持之以恒的学习,方是进步的唯一途径!
  • 相关阅读:
    HDU 1060 Leftmost Digit
    HDU 1008 Elevator
    HDU 1042 N!
    HDU 1040 As Easy As A+B
    HDU 1007 Quoit Design
    欧拉函数
    HDU 4983 Goffi and GCD
    HDU 2588 GCD
    HDU 3501 Calculation 2
    HDU 4981 Goffi and Median
  • 原文地址:https://www.cnblogs.com/breezy-ye/p/12721529.html
Copyright © 2011-2022 走看看