力扣&cf补题-1【算法学习day.94】

前言

###我做这类文章一个重要的目的还是给正在学习的大家提供方向(例如想要掌握基础用法,该刷哪些题?建议灵神的题单和代码随想录)和记录自己的学习过程,我的解析也不会做的非常详细,只会提供思路和一些关键点,力扣上的大佬们的题解质量是非常非常高滴!!!


习题(力扣周赛432)

1.跳过交替单元格的之字形遍历

题目链接: 3417. 跳过交替单元格的之字形遍历 - 力扣(LeetCode)

题面:

代码:

java 复制代码
class Solution {
    public List<Integer> zigzagTraversal(int[][] grid) {
        List<Integer> ans = new ArrayList<>();
        int m = grid.length;
        int n = grid[0].length;
        int flag = 1;
        int x = 0;
        int y = 0;
        int r = 1;
        while(x<m){
            if(y!=0&&y%n==0&&r==1){
                x+=1;
                y = n-1;
                r = 0;
                continue;
            }
            if(y==-1&&r==0){
                x+=1;
                y = 0;
                r = 1;
                continue;
            }
            if(flag==1){
                ans.add(grid[x][y]);
                flag = 0;
                if(r==1){
                    y++;
                }else{
                    y--;
                }
                continue;
            }
            if(flag==0){
                if(r==1){
                    y++;
                }else{
                    y--;
                }
                flag = 1;
            }
        }
        return ans;
    }
}

2.pspspsps

题目链接: Problem - 2049B - Codeforces

题面:

代码:

java 复制代码
#include<bits/stdc++.h>
using namespace std;
int t, n;
string s;
int main(){
    cin >> t;
    while(t --){
        cin >> n >> s;
        bool flag = 0;
        for(int i = 0; i < n; i ++)
            for(int j = 0; j < n; j ++){
                if(s[i] == 'p' && s[j] == 's'){
                    if(!(i == n - 1 || j == 0)) flag = 1;
                }
            }
        if(flag) cout << "NO\n";
        else cout << "YES\n";
    }
    return 0;
}

后言

上面是数据结构相关的习题,下一篇文章会将其他相关的习题。

相关推荐
努力学算法的蒟蒻几秒前
day63(1.22)——leetcode面试经典150
算法·leetcode·面试
jrlong2 分钟前
DataWhale大模型基础与量化微调task4学习笔记(第 1章:参数高效微调_PEFT技术综述)
笔记·学习
BlockChain8885 分钟前
SpringBoot实战一:10分钟搭建企业级用户管理系统(20000字完整项目)
java·spring boot·后端
消失的旧时光-19438 分钟前
第六课 · 6.1 从 JDBC 到 MyBatis:SQL 工程化是如何发生的?
java·sql·mybatis
leiming68 分钟前
linux 进程学习之信号
linux·运维·学习
永远都不秃头的程序员(互关)14 分钟前
【决策树深度探索(一)】从零搭建:机器学习的“智慧之树”——决策树分类算法!
算法·决策树·机器学习
Jaxson Lin16 分钟前
Java编程进阶:线程基础与实现方式全解析
java·开发语言
夜喵YM16 分钟前
基于 Spire.XLS.Free for Java 实现无水印 Excel 转 PDF
java·pdf·excel
zhangrelay18 分钟前
thinkpad等笔记本电脑在ubuntu等linux系统下电池校准如何做?
笔记·学习
茶本无香20 分钟前
设计模式之五—门面模式:简化复杂系统的统一接口
java·设计模式