一亩三分地论坛

 找回密码
 获取更多干货,去instant注册!

扫码关注一亩三分地公众号
查看: 1146|回复: 1
收起左侧

Riverbed 电话 面经

[复制链接] |试试Instant~ |关注本帖
xiaohl0913 发表于 2016-3-8 11:45:03 | 显示全部楼层 |阅读模式

2016(1-3月) 码农类 博士 全职@Riverbed - 网上海投 - 技术电面 |Pass在职跳槽

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看,没有帐号?获取更多干货,去instant注册!

x
有个数组, 数组满足几个条件
1. 数组的每个元素是有效的或者是无效的
2. 数组的每个有效的元素都有个指针指向数组的另外的一个有效的元素形成一个链表
3. 第一个元素永远是有效的
4. 最后一个有效的元素永远指向一个无效的元素. 1point3acres.com/bbs


struct node {
    bool is_valid;
    int next_idx; 指向下一个有效的元素
};

. 1point3acres.com/bbs

比如 (有 = 有效的, 无 = 无效的):
0 -> 2 -> 4 -> 6 -> 7:

0  | 1  |  2  | 3  |  4  | 5  |  6 |  7.鐣欏璁哄潧-涓浜-涓夊垎鍦
有| 无 | 有 | 无 | 有 | 无 | 有 | 无


但是有一些 links 被 corrupted 了  (就是说从有效的变成无效的了), 比如 4 号:. Waral 鍗氬鏈夋洿澶氭枃绔,
0  | 1  |  2  | 3  |  4  | 5  |  6 |  7
有| 无 | 有 | 无 | 无 | 无 | 有 | 无


                           ^. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷

你的任务是修复这些坏的链接, 让他们指向下一个有效的元素. 最终变为有效的链表:

A[4].is_valid = true;
A[4].next_idx = 6;

0  | 1  |  2  | 3  |  4  | 5  |  6 |  7
有| 无 | 有 | 无 | 有 | 无 | 有 | 无


试着改变尽可能少的元素。并且不能改变原来是有效的元素

void repair_links(vector<node> &A);
. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴

评分

1

查看全部评分

梳子爱安可 发表于 2016-5-18 02:15:59 | 显示全部楼层
请问楼主是海投还是内推呀?
回复 支持 反对

使用道具 举报

本版积分规则

请点这里访问我们的新网站:一亩三分地Instant.

Instant搜索更强大,不扣积分,内容组织的更好更整洁!目前仍在beta版本,努力完善中!反馈请点这里

关闭

一亩三分地推荐上一条 /5 下一条

手机版|小黑屋|一亩三分地论坛声明 ( 沪ICP备11015994号 )

custom counter

GMT+8, 2016-12-7 23:07

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

快速回复 返回顶部 返回列表