力扣&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;
}

后言

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

相关推荐
java资料站3 分钟前
springBootAdmin(sba)
java
POLITE33 分钟前
Leetcode 238.除了自身以外数组的乘积 JavaScript (Day 7)
前端·javascript·leetcode
元亓亓亓8 分钟前
LeetCode热题100--64. 最小路径和--中等
算法·leetcode·职场和发展
mit6.82413 分钟前
回溯+位运算|前缀和优化背包
算法
AscendKing13 分钟前
接口设计模式的简介 优势和劣势
java
Vincent_Vang19 分钟前
多态 、抽象类、抽象类和具体类的区别、抽象方法和具体方法的区别 以及 重载和重写的相同和不同之处
java·开发语言·前端·ide
qualifying20 分钟前
JavaEE——多线程(3)
java·开发语言·java-ee
努力学算法的蒟蒻24 分钟前
day49(12.30)——leetcode面试经典150
算法·leetcode·面试
天赐学c语言24 分钟前
12.30 - 合并区间 && C++中class和C语言中struct的区别
c语言·c++·算法·leecode
知识分享小能手24 分钟前
Ubuntu入门学习教程,从入门到精通,Ubuntu 22.04中的过滤器知识点详解(13)
linux·学习·ubuntu