NetEase YouDao 矩阵问题

1.打印蛇形矩阵

刚刚写了一下这道题,主要是控制循环语句,思路清晰了代码自然就漂亮了。

复制代码
View Code
 1 #include<iostream>
2 using namespace std;
3
4 #define N 5
5 int a[N][N];
6
7 int main()
8 {
9 int num=0;
10 bool flag=true; //flag控制添斜线的上下的方式,每次打印完一个斜线改变一下
11 for(int slopline=0; slopline<=N-1; ++slopline) //slopline控制斜线,总共打印2N-1个斜线,这是打印左上半个矩阵
12 {
13 if(flag) //
14 {
15 for(int row=0,col=slopline; col>=0; ++row,--col) //具体打印每个斜线
16 a[row][col]=++num;
17 flag=!flag;
18 }
19 else //
20 {
21 for(int row=slopline,col=0; row>=0; --row,++col)
22 a[row][col]=++num;
23 flag=!flag;
24 }
25 }
26
27 for(int slopline=N; slopline<=2*N-2; ++slopline) //打印右下半个矩阵
28 {
29 if(flag)
30 {
31 for(int row=slopline-N+1,col=N-1; row<=N-1; ++row,--col)
32 a[row][col]=++num;
33 flag=!flag;
34 }
35 else
36 {
37 for(int row=N-1,col=slopline-N+1; col<=N-1; --row,++col)
38 a[row][col]=++num;
39 flag=!flag;
40 }
41 }
42
43 for(int i=0; i<N; ++i)
44 {
45 for(int j=0; j<N; ++j)
46 cout<<a[i][j]<<" ";
47 cout<<endl;
48 }
49 }
复制代码

2.网易有道笔试题。

打印如下形式的矩阵;

n=5:
1   2   9 10 25
4   3   8 11 24
5   6   7 12 23
16 15 14 13 22
17 18 19 20 21

n=6:
1   2   9 10 25 26
4   3   8 11 24 27
5   6   7 12 23 28
16 15 14 13 22 29
17 18 19 20 21 30
36 35 34 33 32 31

 

代码暂时没写,待续。。。

 

posted @   YipWingTim  阅读(268)  评论(0编辑  收藏  举报
编辑推荐:
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
· 现代计算机视觉入门之:什么是图片特征编码
· .NET 9 new features-C#13新的锁类型和语义
阅读排行:
· Sdcb Chats 技术博客:数据库 ID 选型的曲折之路 - 从 Guid 到自增 ID,再到
· 语音处理 开源项目 EchoSharp
· 《HelloGitHub》第 106 期
· Spring AI + Ollama 实现 deepseek-r1 的API服务和调用
· 使用 Dify + LLM 构建精确任务处理应用
点击右上角即可分享
微信分享提示