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

Google Japan 店面

全局:

2016(4-6月) 码农类General 本科 全职@google - 内推 -   | | Other | 应届毕业生

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

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

x
国内大三下学生,投了Google Japan 求RP, 感觉是跪了。  
此外,求大神们内推,邮箱christopherwuy at gmail.com  
简介: C > C++ = PHP > Python = R  
Contributor of WineHQ, had sent more than 50 patches about VC++ runtime(msvcr/msvcp).  Some of them are the implementation of tr2::Filesystem Library, tests of tr2::Threads and implementation of complex istream and ostream::operator.

Accepted by Google Summer Of Code 2015, project is impleme
您好!
本帖隐藏的内容需要积分高于 188 才可浏览
您当前积分为 0。
使用VIP即刻解锁阅读权限或查看其他获取积分的方式
游客,您好!
本帖隐藏的内容需要积分高于 188 才可浏览
您当前积分为 0。
VIP即刻解锁阅读权限查看其他获取积分的方式
Unlock interview details and practice with AI
Curated Interview Questions from Top Companies
_array[i-1] > a[i]) {
                        puish_back(a[i]);

                        swap(a[i-1], a[i]);
/*
int tmp = a[i-1];

a[i-1] = a[i];

a[i] = tmp;

*/

}else {
                push_back(a[i];

}
}else {
        if(new_array[i-1] < a[i]) {
                push_bak(a[i];

        swap(a[i..);

}else{
        xx
}

}       
}

评分

参与人数 2大米 +110 收起 理由
忆梦前尘 + 10 感谢分享!
whdawn + 100

查看全部评分


上一篇:7.22 Microsoft Hololens Team 面经
下一篇:孤枸 店偭 今天刚结束
推荐
mkcing 2016-7-27 06:45:25 | 只看该作者
全局:
shuyangsheng 发表于 2016-7-27 05:59
worst case 应该是O(nlogn)吧,这不是完整的quick sort。我不是很确定。。。

其实这题greedy就可以了 ...

这道题用 greedy 是不对的,
如果题目是 a1 >= a2 <= a3 >= a4 <= a5

那么用 greedy 是对的。

比如, 5,5,5, 1,2,3,4,6,7,8,9,  你看看能不能用greedy?
回复

使用道具 举报

推荐
fatfatjoey 2016-7-27 05:59:46 | 只看该作者
全局:
mkcing 发表于 2016-7-27 05:04
average 是 O(n)  worst case是 O(n^2)

worst case 应该是O(nlogn)吧,这不是完整的quick sort。我不是很确定。。。

其实这题greedy就可以了:
  1.     def wiggleSort(self, nums):
  2.         # Write your code here
  3.         for i in range(1,len(nums)):
  4.             if (i%2==0 and nums[i] > nums[i-1]) or (i%2==1 and nums[i] < nums[i-1]):
  5.                 nums[i],nums[i-1] = nums[i-1],nums[i]
复制代码
举个例子 a=[3,1,4],那么要求就是[a0 a1] 上升,[a1,a2] 下降。
第一步 [a0 a1] 交换,得到[1,3,4],这时候[a0 a1] 满足了上升条件。
第二步 [a1 a2]=[3,4] 要求下降,所以要交换成[1,4,3]。
我们知道 3 是大于 1 的,而 4 > 3,  所以 4 必然大于 3,所以 4 > 1 必然成立,也就是说后面的交换并不影响前面已经wiggle排好的序列。

找中位数的做法我写了半天也不太对,可能智商有限,数列长度是奇数的时候中间那个元素怎么处理有点捉急。。。
回复

使用道具 举报

推荐
fatfatjoey 2016-7-27 04:30:03 | 只看该作者
全局:
mkcing 发表于 2016-7-27 03:32
O(n)  就可以了,https://en.wikipedia.org/wiki/Quickselect

直接用QuickSelect找中位数最差情况应该不是O(n)吧。每次Select是O(n),但是找到的pivot不一定是中位数,还要视pivot的位置递归左半边或者右半边。

倒是有找到一个O(n)的算法,但是有点follow不上了

http://cs.stackexchange.com/questions/1914/to-find-the-median-of-an-unsorted-array
回复

使用道具 举报

🔗
uuisafresh 2016-7-26 18:26:38 | 只看该作者
全局:
归并排序 log2n,然后分一半,奇数位放前一半,偶数位放后一半,保证奇数位肯定小于偶数位,这样可否?
回复

使用道具 举报

🔗
 楼主| YongHaoHu 2016-7-26 18:30:19 | 只看该作者
全局:
uuisafresh 发表于 2016-7-26 18:26
归并排序 log2n,然后分一半,奇数位放前一半,偶数位放后一半,保证奇数位肯定小于偶数位,这样可否?

可以。leetcode上有这么做的,但是他想要比类似插入排序更快方法,which就是他引导出来的办法。 O(n)就可以了。
ps: 归并排序是 O(n log(n))吧
回复

使用道具 举报

🔗
zkern 2016-7-26 18:30:50 | 只看该作者
全局:
HR 骗我说必须先做google apac test才能申谷歌。。。 早知道我也直接申了
回复

使用道具 举报

🔗
uuisafresh 2016-7-26 18:43:17 | 只看该作者
全局:
YongHaoHu 发表于 2016-7-26 18:30
可以。leetcode上有这么做的,但是他想要比类似插入排序更快方法,which就是他引导出来的办法。 O(n)就可 ...

sorry,太久没做题,是nlogn

n次,过一遍,找中位数,用中位数把数组分两组,大的放偶位,小的放奇位,这样能否O(n)
回复

使用道具 举报

🔗
 楼主| YongHaoHu 2016-7-26 20:24:19 | 只看该作者
全局:
zkern 发表于 2016-7-26 18:30
HR 骗我说必须先做google apac test才能申谷歌。。。 早知道我也直接申了

应该我是参加过gsoc,而gsoc当时说,只要成功参加就有内推的
回复

使用道具 举报

🔗
mkcing 2016-7-26 23:41:47 | 只看该作者
全局:
uuisafresh 发表于 2016-7-26 18:43
sorry,太久没做题,是nlogn

n次,过一遍,找中位数,用中位数把数组分两组,大的放偶位,小的放奇位 ...

正解,但是把大的放在偶数位,小的放在奇数位,而且不用extra space 也需要技巧,https://en.wikipedia.org/wiki/Dutch_national_flag_problem,  需要用到这个技术
回复

使用道具 举报

🔗
jyttwc901231 2016-7-27 01:57:21 | 只看该作者
全局:
uuisafresh 发表于 2016-7-26 18:43
sorry,太久没做题,是nlogn

n次,过一遍,找中位数,用中位数把数组分两组,大的放偶位,小的放奇位 ...

找中位数需要nlogn了吧?
回复

使用道具 举报

🔗
mkcing 2016-7-27 03:32:21 | 只看该作者
全局:
jyttwc901231 发表于 2016-7-27 01:57
找中位数需要nlogn了吧?

O(n)  就可以了,https://en.wikipedia.org/wiki/Quickselect
回复

使用道具 举报

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

本版积分规则

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