力扣cf补题-1【算法学习day.94】
前言
###我做这类文章一个重要的目的还是给正在学习的大家提供方向(例如想要掌握基础用法,该刷哪些题?建议灵神的题单和代码随想录)和记录自己的学习过程,我的解析也不会做的非常详细,只会提供思路和一些关键点,力扣上的大佬们的题解质量是非常非常高滴!!!
习题(力扣周赛432)
1.跳过交替单元格的之字形遍历
题目链接:3417. 跳过交替单元格的之字形遍历 - 力扣(LeetCode)
题面:
代码:
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
题面:
代码:
#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;
}
后言
上面是数据结构相关的习题,下一篇文章会将其他相关的习题。