记得有一个大题,说的是给定一个n*n的矩阵,要求从1开始填充矩阵,最后的矩阵是蛇形的。即如下:

n=3,      7 8    1

6  9    2

5  4   3

n=4,    10 11 12 1

9  16  13 2

8  15  14  3

7   6   5   4

给出代码:

#include <iostream>
#include <vector>
using namespace std;
void snake(int m, vector<vector<int> > &a)
{int k = m;int i = 0; int j = 0;int count = 0;int l = 0;while (k >= 0){j = m - 1 - l;for (i = l; i < m - l; i++){count++;a[i][j] = count;}i = m - 1 - l;for (j = m - 2 - l; j >= l; j--){count++;a[i][j] = count;}j = l;for (i = m - 2 - l; i >= l; i--){count++;a[i][j] = count;}i = l;for (j = l + 1; j < m - 1 - l; j++){count++;a[i][j] = count;}k = k - 2;l++;}}int  main()
{int m;cin >> m;vector<vector<int> > b(m);for (int i = 0; i < m; i++){b[i].resize(m);}snake(m, b);for (int i = 0; i < m; i++){for (int j = 0; j < m; j++){cout << b[i][j] << "\t";}cout << endl;}return 0;
}

结果:

6
16      17      18      19      20      1
15      30      31      32      21      2
14      29      36      33      22      3
13      28      35      34      23      4
12      27      26      25      24      5
11      10      9       8       7       6
请按任意键继续. . .

京东2016校招编程题相关推荐

  1. 京东校招java面试题_京东2018校招编程题解答(Java)

    写在前面 本文主要是解答这次校招中京东的笔试编程题,这次京东的笔试编程题比较难,涉及KMP算法.manacher算法等.文中的解法也是在观看了左神(左程云)9月20号在牛客网的直播后,自己花时间写出来 ...

  2. 滴滴出行2016校招编程题

    1. 给定一个m*n的数组(m,n>=2,数组值>=0),要求选出和最大的子2*2数组.例如: 1 2 3 4 5 6 7 8 9 显然和最大的2*2子数组是5 6;8 9.下面完成这个功 ...

  3. 搜狗校招编程题-建房子

    @[TOC][搜狗校招编程题-建房子] 题目描述 某市政府规划建设一个新的小镇,要求小镇上的所有房屋都坐落在同一条东西向大姐的北侧并且临街(两座房子不能重叠).到目前为止,这条街上已经建造了n座房子, ...

  4. 【vivo2021届秋季校招编程题】【java】广度优先搜索(BFS)/深度优先搜索(DFS)找最短路径长度

    vivo2021届秋季校招编程题 图中 找两点间的最短路径长度 广度搜索bfs/深度搜索dfs vivo游戏中心的运营小伙伴最近接到一款新游戏的上架申请,为了保障用户体验,运营同学将按运营流程和规范对 ...

  5. 京东校招编程题——小熊分苹果

    刚做完京东校招在线笔试,第一道编程题居然没做出来,开始时没想到关键点还以为题目出错了,浪费了很多时间,郁闷-- 题目如下: N(1<N<9)只熊分一堆苹果,第一只熊(叫小东)把苹果平均分成 ...

  6. 微软校招编程题Beautiful String的状态机解法

    昨天碰巧看到一道微软校招的编程题,题目大意如下: 如果一个字符串包括三组或者更多组的连续升序字母,每组长度相等,那么我们就称这个字符串是Beautiful String如下是一些Beautiful S ...

  7. 网易2018年春招 校招编程题

    时间:2018.3.27 申请岗位:测试实习生(网易杭州)-音乐事业部 记录一下自己人生的第一次笔试吧..自己的水平还是太差了,希望以后自己翻到这篇文章的时候能够有进步. 20道选择题:其中一半都是测 ...

  8. 小米校招编程题:数组乘积、异形数、朋友圈

    这里记录一下方便查找,原文地址:http://blog.csdn.net/hackbuteer1/article/details/8484974 二.编程题 1.数组乘积(15分) 输入:一个长度为n ...

  9. 2019 快手校招编程题两道解答

    [编程题] 二进制中有多少个1 时间限制:1秒 空间限制:32768K 把一个32-bit整型转成二进制,其中包含多少个1,比如5的二进制表达是101,其中包含2个1 输入描述: 输入为整型(十进制) ...

最新文章

  1. 【JAVA零基础入门系列】Day2 Java集成开发环境IDEA
  2. 阿里巴巴发布《2015移动安全漏洞年报》
  3. 在线项目管理软件leangoo 管理 技术支持
  4. HTML5编程之旅 第4站 Forms
  5. 如何用node命令和webpack命令传递参数 转载
  6. LeetCode Count and Say
  7. java中的stack类和C++中的stack类的区别
  8. Bad level value for property: .level
  9. openstack一键安装脚本(转载)
  10. java 调用动态链接库_JAVA技巧:JNative调用动态链接库问题(SOS)
  11. 阿里P8高级架构师教你如何通过BAT面试顺利拿到offer
  12. Linux redis配置服务,Linux 安装 redis 并配置成 service 系统服务
  13. oracle利用游标添加数据库,Oracle数据库游标的类型及使用实例全解
  14. 五一惠州双月湾游,海滩,帐篷,野营,烧烤、篝火晚会
  15. 【MySQL】MySQL异常Lock wait timeout exceeded try restarting transaction
  16. EXTJS 双层表头 记录
  17. Segment Model.
  18. NodeJs学习笔记001--npm换源
  19. theano 0.7 版本降到0.6 版本
  20. [svn] 解决SVN冲突攻略(手册)

热门文章

  1. 放大镜制作(2)—此方法比较容易理解
  2. shell常用命令总结总结
  3. mysql三-3:完整性约束
  4. vue 的常用模块安指令(持续记录)
  5. 移动开发:iphone开发之触摸事件详解
  6. 苹果电脑快捷键有哪些?mac系统快捷键大全详细介绍(全部)_苹果MAC_操作系统_脚本之家
  7. Windows下的ssh姐妹花 Xshell 和 Xftp
  8. 从一个Android码农视角回顾2018GDD大会
  9. 基与datatable的分页
  10. Android 布局以及优化资料汇总