京东2016校招编程题
记得有一个大题,说的是给定一个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校招编程题相关推荐
- 京东校招java面试题_京东2018校招编程题解答(Java)
写在前面 本文主要是解答这次校招中京东的笔试编程题,这次京东的笔试编程题比较难,涉及KMP算法.manacher算法等.文中的解法也是在观看了左神(左程云)9月20号在牛客网的直播后,自己花时间写出来 ...
- 滴滴出行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.下面完成这个功 ...
- 搜狗校招编程题-建房子
@[TOC][搜狗校招编程题-建房子] 题目描述 某市政府规划建设一个新的小镇,要求小镇上的所有房屋都坐落在同一条东西向大姐的北侧并且临街(两座房子不能重叠).到目前为止,这条街上已经建造了n座房子, ...
- 【vivo2021届秋季校招编程题】【java】广度优先搜索(BFS)/深度优先搜索(DFS)找最短路径长度
vivo2021届秋季校招编程题 图中 找两点间的最短路径长度 广度搜索bfs/深度搜索dfs vivo游戏中心的运营小伙伴最近接到一款新游戏的上架申请,为了保障用户体验,运营同学将按运营流程和规范对 ...
- 京东校招编程题——小熊分苹果
刚做完京东校招在线笔试,第一道编程题居然没做出来,开始时没想到关键点还以为题目出错了,浪费了很多时间,郁闷-- 题目如下: N(1<N<9)只熊分一堆苹果,第一只熊(叫小东)把苹果平均分成 ...
- 微软校招编程题Beautiful String的状态机解法
昨天碰巧看到一道微软校招的编程题,题目大意如下: 如果一个字符串包括三组或者更多组的连续升序字母,每组长度相等,那么我们就称这个字符串是Beautiful String如下是一些Beautiful S ...
- 网易2018年春招 校招编程题
时间:2018.3.27 申请岗位:测试实习生(网易杭州)-音乐事业部 记录一下自己人生的第一次笔试吧..自己的水平还是太差了,希望以后自己翻到这篇文章的时候能够有进步. 20道选择题:其中一半都是测 ...
- 小米校招编程题:数组乘积、异形数、朋友圈
这里记录一下方便查找,原文地址:http://blog.csdn.net/hackbuteer1/article/details/8484974 二.编程题 1.数组乘积(15分) 输入:一个长度为n ...
- 2019 快手校招编程题两道解答
[编程题] 二进制中有多少个1 时间限制:1秒 空间限制:32768K 把一个32-bit整型转成二进制,其中包含多少个1,比如5的二进制表达是101,其中包含2个1 输入描述: 输入为整型(十进制) ...
最新文章
- 【JAVA零基础入门系列】Day2 Java集成开发环境IDEA
- 阿里巴巴发布《2015移动安全漏洞年报》
- 在线项目管理软件leangoo 管理 技术支持
- HTML5编程之旅 第4站 Forms
- 如何用node命令和webpack命令传递参数 转载
- LeetCode Count and Say
- java中的stack类和C++中的stack类的区别
- Bad level value for property: .level
- openstack一键安装脚本(转载)
- java 调用动态链接库_JAVA技巧:JNative调用动态链接库问题(SOS)
- 阿里P8高级架构师教你如何通过BAT面试顺利拿到offer
- Linux redis配置服务,Linux 安装 redis 并配置成 service 系统服务
- oracle利用游标添加数据库,Oracle数据库游标的类型及使用实例全解
- 五一惠州双月湾游,海滩,帐篷,野营,烧烤、篝火晚会
- 【MySQL】MySQL异常Lock wait timeout exceeded try restarting transaction
- EXTJS 双层表头 记录
- Segment Model.
- NodeJs学习笔记001--npm换源
- theano 0.7 版本降到0.6 版本
- [svn] 解决SVN冲突攻略(手册)