当前位置: 首页 > news >正文

做旅游计划的网站免费男女打扑克的软件

做旅游计划的网站,免费男女打扑克的软件,bootstrap 3 wordpress theme,无锡做网站baidu个人主页:兜里有颗棉花糖 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 兜里有颗棉花糖 原创 收录于专栏【手撕算法系列专栏】【AcWing算法提高学习专栏】 🍔本专栏旨在提高自己算法能力的同时,记录一下自己的学习过程&a…

个人主页:兜里有颗棉花糖
欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 兜里有颗棉花糖 原创
收录于专栏【手撕算法系列专栏】【AcWing算法提高学习专栏】
🍔本专栏旨在提高自己算法能力的同时,记录一下自己的学习过程,希望对大家有所帮助
🍓希望我们一起努力、成长,共同进步。

原题链接:点击直接跳转到该题目

目录

  • 一、AcWing 756. 蛇形矩阵
    • 1️⃣题目描述
    • 2️⃣题目解析
    • 3️⃣解题代码
  • 二、AcWing 40. 顺时针打印矩阵
    • 1️⃣题目描述
    • 2️⃣解题代码

一、AcWing 756. 蛇形矩阵

1️⃣题目描述

在这里插入图片描述

2️⃣题目解析

代码中:dx[]dy[] 数组分别表示了在四个方向上 xy 的变化量。 xy 则是当前要填充的位置坐标, d 则代表方向,初始方向为右(即初始化d为1,代表一开始的时候初始方向为右方向)。

代码先在 xy 坐标处填充了当前的值 i,然后根据当前方向判断下一个要填的位置坐标。如果下个要填的位置超出边界或者已经被填充过,需要改变方向。

当发生改变方向时,采用了 (d + 1) % 4 的形式来改变方向,其中 % 4 是为了保证方向不超出 4 个。

3️⃣解题代码

#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>const int N = 110;
int arr[N][N];using namespace std;int main()
{int n,m;cin >> n >> m;int dx[] = {-1,0,1,0},dy[] = {0,1,0,-1};int x = 0,y = 0,d = 1; // 这里我们初始化方向为有方向// 总共有4个方向:分别为上下左右,上为0、右为1、下为2、左为3// 这里我们要先把一开始要填的位置,即x = 0,y = 0的位置先提前定义出来for(int i = 1;i <= n * m;i++){arr[x][y] = i;int a = x + dx[d],b = y + dy[d];if(a < 0 || a >= n || b < 0 || b >= m || arr[a][b]){d = (d + 1) % 4;a = x + dx[d],b = y + dy[d];}x = a,y = b; // 这里的x、y即为下一个要填的位置}// 打印最终的矩阵即可for(int i = 0;i < n;i++){for(int j = 0;j < m;j++)printf("%d ",arr[i][j]);cout << endl;}return 0;
}

最后代码就顺利通过啦!!!

二、AcWing 40. 顺时针打印矩阵

1️⃣题目描述

在这里插入图片描述

2️⃣解题代码

class Solution {
public:vector<int> printMatrix(vector<vector<int>>& matrix) {vector<int> res;if(matrix.empty()) return res;int n = matrix.size(),m = matrix[0].size();vector<vector<bool>> st(n,vector<bool>(m,false));int x = 0,y = 0,d = 1;int dx[] = {-1,0,1,0},dy[] = {0,1,0,-1};for(int i = 1;i <= n * m;i++){res.push_back(matrix[x][y]);st[x][y] = true;int a = x + dx[d],b = y + dy[d];if(a < 0 || a >= n || b < 0 || b >= m || st[a][b]){d = (d + 1) % 4;a = x + dx[d],b = y + dy[d];}x = a,y = b;}return res;}
};

最后就是顺利通过啦!!!

http://www.zhongyajixie.com/news/44125.html

相关文章:

  • 陕西网站开发公司电话第三方营销平台有哪些
  • 网站建设优化石家庄个人接外包的网站
  • 阿里云做电影网站吗搜索引擎推广方式有哪些
  • wordpress粘贴word内容搜索优化
  • 网站会对特殊的ip做跳转关键词是怎么排名的
  • 做淘宝要网站?站长工具端口
  • 中牟网站建设快速提升网站关键词排名
  • 手机网站模板素材下载免费的电脑优化软件
  • 网站如何做京东联盟哈尔滨seo推广优化
  • 网站链接做app厦门网络推广培训
  • 茌平网站建设道气钻比较好用的搜索引擎
  • php源代码做网站竞价排名深度解析
  • 网站建设86215推广策略包括哪些内容
  • 佛山国内快速建站如何优化培训体系
  • wordpress 科技企业seo在线培训机构排名
  • 做产品推广有网站比较好的怎么制作网站教程
  • 公司为什么做网站seo专业培训费用
  • iis网站权限怎么设置百度客服电话人工服务热线
  • HTML和PHP怎么做网站百度投流
  • 好项目寻找个人投资seo怎样才能优化网站
  • 蚌埠做网站公司百度企业网盘
  • 用drupal做的网站常用的关键词有哪些
  • 上海静安网站制作信息流广告投放流程
  • 网站建设实验分析总结扬州网络推广哪家好
  • 视频直播app开发网站北京seo公司司
  • 互联网招聘网站排名香港seo公司
  • 作品集用什么网站做河南网站推广优化排名
  • asp做网站搜索高质量外链购买
  • 扬州做机床公司网站哈尔滨百度搜索排名优化
  • 济南的网站建设公司北京seo外包公司要靠谱的