首页 > 其他分享 >LeetCode刷题记录——day8

LeetCode刷题记录——day8

时间:2024-03-29 23:12:31浏览次数:52  
标签:size matrix day8 int flag ans 刷题 LeetCode left

https://leetcode.cn/problems/spiral-matrix/description/?envType=study-plan-v2&envId=2024-spring-sprint-100
注意每次改变边界都有判断一次

class Solution {
public:
    vector<int> spiralOrder(vector<vector<int>>& matrix) {
        vector<int> ans(matrix.size()*matrix[0].size());
        int high=0,down=matrix.size()-1,left=0,right=matrix[0].size()-1;
        int flag_ans=0;
        while(1){
            for(int i=left;i<=right;i++){
                ans[flag_ans]=matrix[high][i];
                flag_ans++;
            }
            high++;
            if(high>down) break;
            for(int i=high;i<=down;i++){
                ans[flag_ans]=matrix[i][right];
                flag_ans++;
            }
            right--;
            if(right<left) break;
            for(int i=right;i>=left;i--){
                ans[flag_ans]=matrix[down][i];
                flag_ans++;
            }
            down--;
            if(down<high) break;
            for(int i=down;i>=high;i--){
                ans[flag_ans]=matrix[i][left];
                flag_ans++;
            }
            left++;
            if(left>right) break;
        }
        return ans;
    }
};

标签:size,matrix,day8,int,flag,ans,刷题,LeetCode,left
From: https://www.cnblogs.com/humanplug/p/18104807

相关文章

  • AcWing刷题-空调
    空调差分:N=int(input())p=list(map(int,input().split()))t=list(map(int,input().split()))d,s=[0]*100010,[0]*100010foriinrange(N):d[i]=p[i]-t[i]foriinrange(N):s[i]+=d[i]s[i+1]-=d[i]ans=0foriinrange(N+1):......
  • 【附源码】JAVA计算机毕业设计在线考研刷题系统(springboot+mysql+开题+论文)
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景随着信息技术的飞速发展,计算机在教育领域的应用日益广泛。特别是在线教育平台,以其便捷性、灵活性和资源共享性受到了广大师生的青睐。近年来,考研热潮......
  • Leetcode 长度最小的子数组
    Day13第一题超出运行时间,两层循环classSolution{publicintminSubArrayLen(inttarget,int[]nums){if(Arrays.stream(nums).sum()<target){return0;}intminSubArrayLen=nums.length;OUT:......
  • Hive 刷题—— 每年的在校人数
    问题描述 year表示学生入学年度,num表示对应年度录取学生人数,stu_len表示录取学生的学制;说明:例如录取年度2018学制是3年,表示该批学生在校年份为2018~2019、2019~2020、2020-2021,在算每年的在校人数时,2018/2019/2020/2021年份都需要算上。示例数据 idyearnumstu_l......
  • 【LeetCode】LeetCode 547. 省份数量(Java版 什么是并查集)
      ......
  • LeetCodeHot100 动态规划 70. 爬楼梯 118. 杨辉三角 198. 打家劫舍 279. 完全平方
    70.爬楼梯https://leetcode.cn/problems/climbing-stairs/description/?envType=study-plan-v2&envId=top-100-likedpublicintclimbStairs(intn){if(n<=1)returnn;int[]dp=newint[n+1];dp[1]=1;dp[2]=2;......
  • 除自身以外数组的乘积 - LeetCode 热题 16
    大家好!我是曾续缘......
  • 合并区间 - LeetCode 热题 14
    大家好!我是曾续缘......
  • Leetcode 第 126 场双周赛题解
    Leetcode第126场双周赛题解Leetcode第126场双周赛题解题目1:3079.求出加密整数的和思路代码复杂度分析题目2:3080.执行操作标记数组中的元素思路代码复杂度分析题目3:3081.替换字符串中的问号使分数最小思路代码复杂度分析题目4:3082.求出所有子序列的能量和思......
  • Leetcode 第 388 场周赛题解
    Leetcode第388场周赛题解Leetcode第388场周赛题解题目1:3074.重新分装苹果思路代码复杂度分析题目2:3075.幸福值最大化的选择方案思路代码复杂度分析题目3:3076.数组中的最短非公共子字符串思路代码复杂度分析题目4:3077.K个不相交子数组的最大能量值思路代码......