标签:
第一题是给你一堆坐标,找出里面可以组成矩形的点并且计算面积?忘记了,当时题目扫了一眼就直接跳过了。。。
第二题是一个队列中元素进行一些列的操作,输出是1,2,3,4....n按顺输出,问你原来的序列是多少。
这个其实就是每次都跳过一个可用位置然后在下一个位置放入数字,如果到达容器尾部,那么再从头开始搜索,知道全部位置都放了数字。
简直天杀的,这个最后我调出来超时了2分钟,结果自动交卷了 T T码代码的速度很重要啊,还有OJ平台是真的烂,笔试的平台感觉一个比一个烂!
代码如下:
#include <iostream> #include <queue> #include <stack> using namespace std; int findNextIndex(vector<int> &isSelected, int index) { int count = 0; int res = 0; for (int i = index; i <= isSelected.size(); i++) { if (i == isSelected.size()) { i = 0; } if (isSelected[i] == 0 && count == 0) { count = 1; } else if (isSelected[i] == 0 && count == 1) { res = i; break; } } return res; } int main() { int n; cin >> n; vector<vector<int>> res; while (n > 0) { n--; int k; cin >> k; vector<int> isSelected(k, 0); vector<int> result(k, 0); int count = 1; int curNum = 1; int index = 0; while (curNum <= k) { index = findNextIndex(isSelected, index); result[index] = curNum; curNum++; isSelected[index] = 1; } res.push_back(result); } for (int i = 0; i < res.size(); i++) { for (int j = 0; j < res[i].size(); j++) { cout << res[i][j] << " "; } cout << endl; } cout << endl; }
第三题是洗牌算法,给你一堆牌里面有2n张牌,让你洗K次,每次将2n张牌分为2堆,1-n和n+1-2n,然后先放右手1张牌,再放左手一张牌。。。如此反复,直到所有牌都放完,其实还是很简单,但是感觉每次码代码都有各种小问题,我就因为只存了左手的数结果折腾了半天,太傻X了。。。。
思路就是:交错放置,其实我的代码并不怎么好,每次都要生成O(n)的额外空间,感觉效率也不怎么样,反正OJ平台也没给我任何反馈,也不知道对不对。。。。
#include <vector> #include <iostream> using namespace std; void swapinsert(vector<int> &source, int n ) { vector<int> temp( source ); for (int i = 0; i < n ; i++) { source[2 * i] = temp[i]; source[2 * i + 1] = temp[n + i]; } } int main() { int m; cin >> m; vector < vector<int>> res; while (m > 0) { int n; int k; cin >> n >> k; vector<int> source; int num; for (int i = 0; i < 2 * n; i++) { cin >> num; source.push_back(num); } m--; while (k > 0) { swapinsert(source, n); k--; } res.push_back(source); } for (int i = 0; i < res.size(); i++) { for (int j = 0; j < res[i].size(); j++) { cout << res[i][j] << " "; } cout << endl; } }
又是一次失败的笔试T T网易虐我千百遍,我待网易如初恋。。。我大概和网易没缘分吧,实习笔试刷我,杭研笔试刷我,有道笔试估计又要被刷,现在就剩个网易游戏了.......呵呵呵呵呵呵呵......
标签:
原文地址:http://www.cnblogs.com/rockwall/p/5785626.html