回复: 27
跳转到指定楼层
上一主题 下一主题
收起左侧

forUsAll oa

全局:

2018(1-3月) 码农类General 硕士 全职@forusall - Other - 在线笔试  | | Other | 应届毕业生

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

您需要 登录 才可以下载或查看附件。没有帐号?注册账号

x
今早做了forUsAll的oa题 两道题 贡献给地里的小伙伴
您好!
本帖隐藏的内容需要积分高于 155 才可浏览
您当前积分为 0。
使用VIP即刻解锁阅读权限或查看其他获取积分的方式
游客,您好!
本帖隐藏的内容需要积分高于 155 才可浏览
您当前积分为 0。
VIP即刻解锁阅读权限查看其他获取积分的方式
Unlock interview details and practice with AI
Curated Interview Questions from Top Companies

评分

参与人数 5大米 +50 收起 理由
s09g + 3 给你点个赞!
whly1994 + 3 大米~
kg1988121 + 3 很有用的信息
admin + 40
liu.haonan + 1 给你点个赞!

查看全部评分


上一篇:谷歌新鲜跪经
下一篇:口袋宝石二面
推荐
tongyuze 2018-2-25 07:44:21 | 只看该作者
全局:
请问第二题的思路
回复

使用道具 举报

推荐
liu.haonan 2018-3-2 08:46:16 | 只看该作者
全局:
BabyBabyXuan 发表于 2018-3-2 08:33
不 这三个数组没排序 就是举个例子哈: A[53, 28, 56, 20]  B[72, 32, 56, 48] C[12, 45, 90, 78]
假设 ...

那这题感觉可以先把这3个数组排序然后用3 pointers的做法,每个pointers一开始都指向每个array 的第一个elements,然后移动pointerb从b中找到第一个比A[pointa]大的,然后用pointerc从c中找到第一个比b[pointB]大的element,然后计算下有多少种可能,以此类推,应该可以吧~
回复

使用道具 举报

推荐
liu.haonan 2018-3-3 09:27:49 | 只看该作者
全局:
kate8528577 发表于 2018-3-3 05:43
先是sort就nlogn了,然后先选第一个字母的那排,选了一个时候选下一排,二分法找到比他大的,然后第三排 ...

你就把原数组全部sort完,需要3nlogn.然后用pointer从做到右扫,不需要2pointer,这个时间复杂度是O(3n)。你虽然是nestedloop但是你的pointer在下一层for loop的时候没有从0开始,意思就是每个array最只要扫描1遍。

补充内容 (2018-3-3 09:34):
我的意思是:你就把原数组全部sort完,这一步需要3nlogn.然后用pointer从左到右扫,这个时间复杂度是O(3n)。虽然看上去是有nestedloop但pointer在一层for loop的时候没有从0开始,意思是每个array最多只要扫1遍
回复

使用道具 举报

🔗
liu.haonan 2018-3-2 07:18:46 | 只看该作者
全局:
请问第二题有时间和复杂度的限制么。感谢。

补充内容 (2018-3-2 07:19):
时间和空间复杂度,sorry说错了刚才`
回复

使用道具 举报

🔗
 楼主| BabyBabyXuan 2018-3-2 07:47:07 | 只看该作者
全局:
liu.haonan 发表于 2018-3-2 07:18
请问第二题有时间和复杂度的限制么。感谢。

补充内容 (2018-3-2 07:19):

时间复杂度是O(nlogn)
空间复杂度是O(n)

评分

参与人数 1大米 +1 收起 理由
liu.haonan + 1 给你点个赞!

查看全部评分

回复

使用道具 举报

🔗
 楼主| BabyBabyXuan 2018-3-2 07:47:28 | 只看该作者
全局:
tongyuze 发表于 2018-2-25 07:44
请问第二题的思路

我没做出来。。。
回复

使用道具 举报

🔗
liu.haonan 2018-3-2 08:24:19 | 只看该作者
全局:
BabyBabyXuan 发表于 2018-3-2 07:47
时间复杂度是O(nlogn)
空间复杂度是O(n)

感谢楼主回复哈,还有个疑问,请问那这3个数组之前是已经排好序的了么?
回复

使用道具 举报

🔗
 楼主| BabyBabyXuan 2018-3-2 08:33:48 | 只看该作者
全局:
liu.haonan 发表于 2018-3-2 08:24
感谢楼主回复哈,还有个疑问,请问那这3个数组之前是已经排好序的了么?

不 这三个数组没排序 就是举个例子哈: A[53, 28, 56, 20]  B[72, 32, 56, 48] C[12, 45, 90, 78]
假设你在A中选了56 B中只能选72(严格递增) C中可以选78或者90;
都是从A开始,B C中再各选一个数组成一个严格递增的集合 求满足条件的集合的个数

评分

参与人数 1大米 +1 收起 理由
liu.haonan + 1 给你点个赞!

查看全部评分

回复

使用道具 举报

🔗
 楼主| BabyBabyXuan 2018-3-2 09:25:13 | 只看该作者
全局:
liu.haonan 发表于 2018-3-2 08:46
那这题感觉可以先把这3个数组排序然后用3 pointers的做法,每个pointers一开始都指向每个array 的第一个e ...

我觉得你的方法应该挺好的~

评分

参与人数 1大米 +1 收起 理由
liu.haonan + 1 哈哈哈哈感觉楼主一定是个温柔的妹子。祝顺.

查看全部评分

回复

使用道具 举报

🔗
kate8528577 2018-3-3 00:07:33 | 只看该作者
全局:
liu.haonan 发表于 2018-3-2 08:46
那这题感觉可以先把这3个数组排序然后用3 pointers的做法,每个pointers一开始都指向每个array 的第一个e ...

这样的话应该是3*n*logn
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号
隐私提醒:
  • ☑ 禁止发布广告,拉群,贴个人联系方式:找人请去🔗同学同事飞友,拉群请去🔗拉群结伴,广告请去🔗跳蚤市场,和 🔗租房广告|找室友
  • ☑ 论坛内容在发帖 30 分钟内可以编辑,过后则不能删帖。为防止被骚扰甚至人肉,不要公开留微信等联系方式,如有需求请以论坛私信方式发送。
  • ☑ 干货版块可免费使用 🔗超级匿名:面经(美国面经、中国面经、数科面经、PM面经),抖包袱(美国、中国)和录取汇报、定位选校版
  • ☑ 查阅全站 🔗各种匿名方法

本版积分规则

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