构造原始数列 有道2017测试开发工程师编程题

 1 #include <iostream>
 2 #include <vector>
 3 #include <deque>
 4 #include <queue>
 5 using namespace std;
 6
 7 // 2 1 3
 8 // 1 3 2,输出1
 9 // 3 2
10 // 2 3,输出2
11 // 3
12 // 3,输出3
13 // 逆向过程:
14 // 3
15 // 3
16 // 2 3,把2插到队头
17 // 3 2,把队尾3插到队头
18 // 1 3 2,把1插到队头
19 // 2 1 3,把队尾2插到队头
20 // 通过观察就是:
21 // k从n~1,依次进行:把k插到队头,把队尾元素插到队头
22
23 //得到顺序序列的过程是:
24 //1、队头pop出来,push进队尾
25 //2、队头pop出来,打印结果
26 //举例:
27 //2 1 3,输入
28 //1 3 2,队头2pop出来插入队尾
29 //打印1,队头1pop出来,打印1
30 //3 2
31 //2 3,队头3pop出来插入队尾
32 //打印2,队头2pop出来,打印2
33 //3
34 //3,队头3pop出来插入队尾
35 //打印3,队头3pop出来,打印3
36 //队列为空,处理完毕
37
38 //逆向过程:从n~1依次做如下处理
39 //1、push元素进队头
40 //2、队尾元素pop出来,push进队头
41 //举例:
42 //3,push3进队头
43 //3,队尾3pop出来,push3进队头
44 //23,push2进队头
45 //32,队尾3pop出来,push3进队头
46 //132,push1进队头
47 //213,队尾2pop出来,push2进队头
48 //处理完毕
49
50 int main()
51 {
52   int t;
53   cin >> t;
54
55   // queue<int> num;
56   // while (t--)
57   // {
58   //   int temp;
59   //   cin >> temp;
60   //   num.push(temp);
61   // }
62   while (t--)
63   {
64     // while (!num.empty())
65     // {
66     // int n;
67     // n = num.front();
68     // num.pop();
69
70     int n;
71     cin >> n;
72     deque<int> q;
73     for (int i = n; i > 0; i--)
74     {
75       q.push_front(i);
76       int x = q.back();
77       q.pop_back();
78       q.push_front(x);
79     }
80     for (int i = 0; i < n - 1; i++)
81     {
82       cout << q[i] << " ";
83     }
84     cout << q[n - 1];
85     cout << endl;
86
87     // }
88   }
89 }
时间: 2024-11-05 14:46:38

构造原始数列 有道2017测试开发工程师编程题的相关文章

洗牌 有道2017测试开发工程师编程题

1 #include <iostream> 2 #include <vector> 3 #include <algorithm> 4 #include <deque> 5 using namespace std; 6 7 void play(vector<int>& card) 8 { 9 const size_t N = card.size(); 10 vector<int> cardO = card; 11 int idx

《Google软件测试之道》测试开发工程师

拖延了将近半年的草稿,断断续续的写完了.之前草草翻看完这本书,关注点主要在TE上,而关于SET的部分则只是浏览,最近后知后觉,又翻出了这本书,重新看了一遍,又有新收获. 就说说Google的SET是如何做的,以及个人的一些思考和收获吧,寥有慰藉... Google的测试流程可以简练的概括为:让每个工程师都注重质量.而在工作流程引入过程中也伴随着一些致命的缺陷,下面简述下Google是如何解决以及其测试流程的是如何进化的. ①.测试并不能保证产品质量.需要一直谨记的一点:质量是内建的,而不是外加的

网易开发工程师编程题 比较重量 Java

比较重量 小明陪小红去看钻石,他们从一堆钻石中随机抽取两颗并比较她们的重量.这些钻石的重量各不相同.在他们们比较了一段时间后,它们看中了两颗钻石g1和g2.现在请你根据之前比较的信息判断这两颗钻石的哪颗更重. 给定两颗钻石的编号g1,g2,编号从1开始,同时给定关系数组vector,其中元素为一些二元组,第一个元素为一次比较中较重的钻石的编号,第二个元素为较轻的钻石的编号.最后给定之前的比较次数n.请返回这两颗钻石的关系,若g1更重返回1,g2更重返回-1,无法判断返回0.输入数据保证合法,不会

对测试开发工程师的理解

随着测试在软件开发周期中越来越受到重视,国内测试的缺口一直比较大,各种软件和互联网公司都大肆招收测试工程师,有些走在前面的公司甚至从今年开始取消了测试工程师职位,全部变成了测试开发职位,比如百度.一方面测试开发表明了对工程师有更高的要求,需要在具有测试能力的基础上兼备开发能力:另一方面自动化测试成为趋势,利用开发的技巧解决测试中的问题以提高测试效率,降低QA与RD的人力比. 1.技术含量 面试过许多的应届毕业生,问及为什么选择测试开发这个职位时,经常听到以下的回答: “我觉得自己开发能力比较弱,

2017年腾讯 秋招软件开发笔试编程题回忆版

2017年腾讯秋招软件开发笔试编程题回忆版 (所有题目大致描述如下,并非完整的题目回忆,但意思大致一样) 1.又一个魔法城市,城市里面有n个魔法城堡,序号为0,1,2...n-1:魔法城堡之间都有路径相连:魔法城堡两两之间的到达的距离不同,因此所需时间也可能不会相同.如魔法城堡0到魔法城堡2需要耗时4小时:现,小明想从魔法城堡0到魔法城堡1,他想知道需要花费多少时间:为了快速到达,有一魔法扫把,魔法扫把使用次数有限,使用一次,可以将某一段间的时间减半:求小明从魔法城堡0到魔法城堡1花费的最小时间

Java or Python?测试开发工程师如何选择合适的编程语言?

很多测试开发工程师尤其是刚入行的同学对编程语言和技术栈选择问题特别关注,毕竟掌握一门编程语言要花不少时间成本,也直接关系到未来的面试和就业(不同企业/项目对技术栈要求也不一样),根据自身情况做一个相对正确的选择确实要比盲目投入更明智也更高效. 目前最常见的情况是纠结选择 Java 还是 Python?关于这个问题,我搜索了之前的相关博客,也特意请教了几位资深的测试技术专家,在这里做一个汇总整理,集"各家"之言供大家参考.也欢迎各位朋友根据自己的经验回帖补充意见. P.S. 有一点需要强

【转】测试开发工程师必备软硬能力&amp;高级测试开发工程师需要具备什么能力?

对于测试的基本知识,可以查看软件测试相关书籍 对于在公司成为一位优秀的测试开发工程师,我觉得下面这篇文章涉及到的是我们需要的,稍微进行改动https://blog.csdn.net/sinat_21026543/article/details/79909062 测试流程方面:从最开始的分析需求开始,逐步地跟着项目走完整个测试流程,包括纯手工测试,包含了自动化的测试流程,包含了性能测试的测试流程,直至每一个测试报告的最终形成,理解一个科学,正确,严谨,正规化的测试流程. 测试方法方面:注重理论知识

美团点评2017秋招笔试编程题

美团点评2017秋招笔试编程题 1, 大富翁游戏,玩家根据骰子的点数决定走的步数,即骰子点数为1时可以走一步,点数为2时可以走两步,点数为n时可以走n步.求玩家走到第n步(n<=骰子最大点数且是方法的唯一入参)时,总共有多少种投骰子的方法. 题解: 写出前面的几个, 1 -> 1;   2 -> 2 ;  3 -> 4;   4 -> 8; 5 -> 16; 6 -> 32; 可以得到是 二的 n-1 次幂. #include <cstdio> int

网易测试开发工程师笔试体会(秋招)

题型1(单选题20*3)(2016年9月12日19:00-21:00) 不太难(涉及软件工程.测试理论.java程序代码.操作系统.计算机网络等内容) 题型2(简答题2*20) 1.一个简单的论坛系统,以数据库储存如下数据: 用户名,email,主页,电话,联系地址,发帖标题,发帖内容,回复标题,回复内容.每天论坛访问量300万左右,更新帖子10万左右. 请给出数据库表结构设计,并结合范式简要说明设计思路. 参考: 一 分割思想: 1   数据库切分:用户库.主题库.回复库 2   数据表水平切