9.5 58同城笔试

1.分页算法 返回该页

vector<int> paginatePosts(vector<int>& posts, int page, int pageSize) {

// write code here

if (pageSize>posts.size()||page*pageSize> posts.size()) {

vector<int>a;

return a;

}

int r = posts.size();

int s = min(r, (page)*pageSize);

vector<int>n(posts.begin() + (page - 1) * pageSize, posts.begin() + s);

return n;

}

2.蜂窝状数组求两点路径(有障碍) bfs

部分代码

int bfs(int ex, int ey,int d, vector<vector<int>>& mp, vector<vector<int> >& Obstacles,deque<vector<int>>& dd) {

mp[dd.front()[0]][dd.front()[1]] = 1;

while (!dd.empty())

{

for (int i = -1; i < 2; i++)

{

for (int j = -1; j < 2; j++)

{

if (canmove(dd.front()[0], dd.front()[1], dd.front()[0] + i, dd.front()[1] + j, Obstacles))

{

if (mp[dd.front()[0] +i][dd.front()[1] +j] == 0)

{

mp[dd.front()[0] + i][dd.front()[1] + j] = 1;

vector<int>temp = { dd.front()[0] + i,dd.front()[1] + j,dd.front()[2] + 1 };

//cout << " ip ed" << endl;

dd.push_back(temp);

}

}

}

}

if (dd.front()[0]==ex&&dd.front()[1]==ey)

{

return dd.front()[2];

}

cout << dd.front()[0] << " " << dd.front()[1] << endl;

dd.pop_front();

}

return -1;

}

3.没看

全部评论
我日,和数开一样,数开搞强度这么大吗
1 回复 分享
发布于 09-05 20:39 江苏
感觉强度有点大
1 回复 分享
发布于 09-05 20:40 北京
友塔游戏
校招火热招聘中
官网直投
第三题我只过了10%,切大佬ac答案
点赞 回复 分享
发布于 09-05 20:36 湖北
第一题ac 第二题40%第三题没做怎么办
点赞 回复 分享
发布于 09-05 20:39 湖南
刚考完就发了,好快呀
点赞 回复 分享
发布于 09-05 20:42 山东
前端三个简单题秒了
点赞 回复 分享
发布于 09-05 20:45 湖北
第二个dp也能a吗,有a来的吗?
点赞 回复 分享
发布于 09-05 20:50 黑龙江
60,30,5.88,寄
点赞 回复 分享
发布于 09-05 20:50 上海
第一题30%,硬是想不到哪没考虑到
点赞 回复 分享
发布于 09-05 21:16 江苏
90,100,0 最后题目不知道在说什么
点赞 回复 分享
发布于 09-05 21:25 广东
最后考完显示的是自己分数吗
点赞 回复 分享
发布于 09-05 21:26 北京
第一题85%,有啥边界情况比较特殊的?😅
点赞 回复 分享
发布于 09-05 21:59 江苏
分页查询一直90%,一直报数组越界的错误,但就是找不出来哪越界了
点赞 回复 分享
发布于 09-06 08:46 北京
Java表示题目跟你一样的 第二题我看到题目直接跳过了
点赞 回复 分享
发布于 09-06 10:37 上海
其实第三题比第二题更加简单
点赞 回复 分享
发布于 09-06 10:37 上海
第一个分页算法最后一页如果不足目标帖子个数也要全部打印, 不然有几个过不去; 第二个bfs就能过,每个位置有6个可选的前进方向,但对于奇数行和偶数行可以走的6个方向不一样,所以要有两组可选方向
点赞 回复 分享
发布于 09-07 14:52 浙江

相关推荐

1 3 评论
分享
牛客网
牛客企业服务