1424. 对角线遍历 II

文章目录

题意

题目链接

思路

数组左边有值,才可能右边有值;

然后遍历

代码

C++ 复制代码
class Solution {
public:
    vector<int> findDiagonalOrder(vector<vector<int>>& nums) {
        vector<int> ans;
        vector< pair<int, int> > now;
        int i = 0;
        while (i < nums.size() || !now.empty()) {
            vector<pair<int, int> > tmp;
            if (i < nums.size())
            {
                ans.push_back(nums[i][0]);
                tmp.push_back(make_pair(i, 0));
            }
            i++;
            for (auto &index:now)
            {
                int x = index.first;
                int y = index.second + 1;
                if (x < nums.size() && y < nums[x].size())
                {
                    tmp.push_back(make_pair(x, y));
                    ans.push_back(nums[x][y]);
                }
            }
            now = tmp;
        }
        return ans;
    }
};
相关推荐
本喵是FW4 分钟前
C语言手记1
java·c语言·算法
咱就是说不配啊9 分钟前
3.19打卡day33
数据结构·c++·算法
2501_9249526912 分钟前
嵌入式C++电源管理
开发语言·c++·算法
2401_8426236518 分钟前
C++中的访问者模式高级应用
开发语言·c++·算法
森林里的程序猿猿29 分钟前
垃圾收集器G1和ZGC
java·jvm·算法
机器学习之心38 分钟前
LSBoost增强算法回归预测+SHAP可解释分析+新数据预测(多输入单输出)MATLAB代码
算法·matlab·回归·lsboost·shap可解释分析
重庆小透明1 小时前
【面试问题】java字节八股部分
java·面试·职场和发展
AI-Ming1 小时前
注意力机制
算法·ai·ai编程
ℳ๓₯㎕.空城旧梦1 小时前
C++中的解释器模式
开发语言·c++·算法
x_xbx1 小时前
LeetCode:2. 两数相加
算法·leetcode·职场和发展