首页 > 其他分享 >力扣刷题记录: 1424. 对角线遍历Ⅱ

力扣刷题记录: 1424. 对角线遍历Ⅱ

时间:2024-06-13 11:28:38浏览次数:12  
标签:tmp 遍历 1424 res 力扣 vector 对角线 tmp1 刷题

        本题是第 182 场周赛的 Q3,LC竞赛分为1780。

方法一. 利用反对角线性质

        在同一条反对角线上的元素的 i+j 值是相同的,同时,根据遍历的方式可知,i 值越大的元素在同一条反对角线之中越先被遍历,i+j 值越小的反对角线越早被遍历。考虑采用有序的 map 对 i+j 值进行存储,代码如下:

class Solution {
public:
    vector<int> findDiagonalOrder(vector<vector<int>>& nums) {
        
        map<int,vector<int>> res;
        for(int i=0;i<nums.size();i++){
            for(int j=0;j<nums[i].size();j++){
                res[i+j].push_back(nums[i][j]);
            }
        }

        
        vector<int> ans;
        for(auto tmp1: res){
            vector<int> tmp = tmp1.second;
            reverse(tmp.begin(),tmp.end());
            for(int i=0;i<tmp.size();i++){
                ans.push_back(tmp[i]);
            }
        }
        return ans;
    }
};

标签:tmp,遍历,1424,res,力扣,vector,对角线,tmp1,刷题
From: https://blog.csdn.net/Bright_Brilliant/article/details/139515367

相关文章

  • 【动态规划】| 路径问题之不同路径II 力扣63
    ......
  • 力扣第198题“打家劫舍”
    关注微信公众号数据分析螺丝钉免费领取价值万元的python/java/商业分析/数据结构与算法学习资料在本篇文章中,我们将详细解读力扣第198题“打家劫舍”。通过学习本篇文章,读者将掌握如何使用动态规划来解决这一问题,并了解相关的复杂度分析和模拟面试问答。每种方法都将配以......
  • 【力扣真题】3.哈希表|算法真题程序设计数据结构考研保研复试机试面试秋招春招蓝桥杯
    242.有效的字母异位词给定两个字符串s和t,编写一个函数来判断t是否是s的字母异位词。示例1:输入:s=“anagram”,t=“nagaram”输出:true示例2:输入:s=“rat”,t=“car”输出:false说明:你可以假设字符串只包含小写字母。力扣题目链接思......
  • 验证二叉搜索树-力扣
    第一次做这道题时,想的解法是递归去判断比较左节点小于中间节点,右节点大于中间节点,而这恰恰进入了陷阱,这道题不仅仅是判断子树是否左节点小于中间节点,右节点大于中间节点;要比较的是左子树所有节点小于中间节点,右子树所有节点大于中间节点。附上错误代码:classSolution{pu......
  • LeetCode刷题之HOT100之单词搜索
    2024/6/12这两天天气只能用闷、潮、热来描述。整个人像被罩在为了饭菜保温的盖子里,喘气困难、粘稠的空气一次又一次打湿我。唯有空调救我,夏天来了。Anyway,昨天只做了一题,今天早点来做一题。1、题目描述2、逻辑分析给定一个二维字符矩阵和一个单词,求单词是否在这个二维......
  • 力扣面试题 02.07. 链表相交
    一 题目:二思路:本题介绍两种思路解题,个人推荐思路一快速好理解 思路一: 1.先把其中一个链表的值变成负数 2.遍历另一个链表第一个出现负数的值就是交点 3.还原被改的链表 思路二:1.先用第一个链表的头节点head1搜索指针q遍历第一个链表直到为空,再把q放到head2......
  • 路径总和-力扣
    本题想到的解法是对二叉树进行深度搜索,并记录路径和,当节点为叶子节点时,将路径和与目标值进行判断,如果相等则返回true,否则返回false,最后返回左右子树或的值即可,因为只需有一条满足条件就可以。/***Definitionforabinarytreenode.*structTreeNode{*intv......
  • 左叶子之和-力扣
    本题计算二叉树的左叶子之和,使用后序遍历的顺序对二叉树进行深度搜索,关键点在于,对左叶子节点的值的操作上,需要在左叶子节点的父节点进行。/***Definitionforabinarytreenode.*structTreeNode{*intval;*TreeNode*left;*TreeNode*right......
  • 基于SpringBoot的刷题小程序的设计与实现+附源码+数据库
    摘要:随着互联网技术的快速发展,在线教育平台逐渐成为学生学习和复习的重要工具。为了提高用户在学习过程中的效率和体验,本文提出并实现了一个基于SpringBoot的刷题小程序。该小程序旨在通过高效的题库管理、智能化的刷题功能以及友好的用户界面,帮助用户更好地进行知识点的巩......
  • leetcode刷题-归纳总结
    框架思维124.求⼆叉树中最⼤路径和后序遍历最大路径转换为为求单边最大路径105.根据前序和中序遍历构造二叉树前序遍历,找到根节点构建root,得到左右子树区间,左右子树递归构建注意:1.终止条件2.构建unordered_map230.寻找⼆叉搜索树中的第k⼩的元素⼆叉搜索树即左支树所有......