网易雷火-游戏开发岗笔试题吐槽
今天2019.09.15,目测是个好日子,但雷火的游戏开发岗笔试太不友好了,直接6道编程题,打开考试链接看到后,吓得我往后退了10步,看完题面之后,又退了10步。
怎么办呢,总不能交白卷吧,硬着头皮做吧。
题面:
1. 根据面积,宽高比和宽这三个特征对矩形排序输出;(拼排序算法就好了,最简单使用冒泡😉100%);
2. 三角形的顺时针/逆时针调整(完全没思路😪);
3. 求完成多任务最小延迟天数(思路,把DeadLine靠前的放前面,把cost小的放前面,排序,计算后结果31%😥)
4. 互质数求f,求出之后,找最小的,四舍五入输出一个浮点数(做到最后,四舍五入时浮点数转字符串,sprintf函数竟然不能用。。。😮)
5. 砌墙
6. 仿vi编辑器
从题面来看,太不友好了。。。。。。。。。。。。。。。。。劝退呢这是。。。。。。。。
附第4题的代码,结果不对,需要修改
#include<iostream>
#include<string>
#include<vector>
using namespace std;
int main()
{
int N;
cin >> N;
vector<double> vXs;
for (int i = 1; i <= N; i )
{
int nCount = 1;
for (int j = 2; j <= i; j )
{
bool bFlag = false;
for (int k = j; k >= 2; k--)
{
if (j % k == 0)
{
bFlag = true;
break;
}
}
if (!bFlag)
nCount ;
}
double fFunc = double(nCount) / i;
vXs.push_back(fFunc);
}
double fMin = 1;
for (int i = 0; i < vXs.size(); i )
{
if (vXs[i] < fMin)
fMin = vXs[i];
}
char chMin[256];
sprintf(chMin, "%.7f", fMin);
string strMin(chMin);
int nIdx = strMin.find('.');
strMin = "0.1000064";
if (atoi(strMin.substr(nIdx 7, 1).c_str()) >= 5)
{
int n = atoi(strMin.substr(nIdx 6, 1).c_str()) 1;
char chN[2];
sprintf(chN, "%d", n);
string strN(chN);
strMin = strMin.substr(0, nIdx) strMin.substr(nIdx, 6) strN;
}
else
strMin = strMin.substr(0, nIdx) strMin.substr(nIdx, 7);
cout << strMin << endl;
system("pause");
return 0;
} 