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

问一道谷歌面经题

全局:

2015(7-9月) 码农类General 硕士 全职@google - 内推 - 技术电面  | | Other | 应届毕业生

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

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

x
问一道google面经题,在glassdoor上面看到的:given a list of elements arranged in ascending and th
您好!
本帖隐藏的内容需要积分高于 188 才可浏览
您当前积分为 0。
使用VIP即刻解锁阅读权限或查看其他获取积分的方式
游客,您好!
本帖隐藏的内容需要积分高于 188 才可浏览
您当前积分为 0。
VIP即刻解锁阅读权限 或 查看其他获取积分的方式
Unlock interview details and practice with AI
Curated Interview Questions from Top Companies
ted sorted array一样,写起来发现根本不是那么回事,求大神解答!!!

上一篇:Nvidia校招笔试
下一篇:Amazon OA1 面经
推荐
SDU_Phonism 2015-9-16 11:57:14 | 只看该作者
全局:
我有个想法。。先二分找到最大值的下标。这个和普通二分一样。就是判断mid的时候,要满足mid的value比两边大。。然后分成2个单调的数组,分别二分。
回复

使用道具 举报

推荐
edna 2015-9-16 13:33:32 | 只看该作者
全局:
这不就是find peak element么,换了身衣服而已啊。
  1. int findPeak(vector<int> nums) {
  2.         int start = 0, end = nums.size()-1;
  3.         while (start < end) {
  4.                 int mid = start + (end-start)/2;
  5.                 int midNext = mid+1;
  6.                 if (nums[mid] > nums[midNext]) {
  7.                         end = mid;
  8.                 } else {
  9.                         start = midNext;
  10.                 }
  11.         }
  12.         return nums[start];
  13. }
复制代码
测试过
1 2 3 4 5
5 4 3 2 1
1 4 5 3 2
都返回5

评分

参与人数 1大米 +10 收起 理由
airwindow + 10 回答的很好!

查看全部评分

回复

使用道具 举报

推荐
kelvinzhong 2015-9-16 11:50:39 | 只看该作者
全局:
您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
使用VIP即刻解锁阅读权限或查看其他获取积分的方式
游客,您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
VIP即刻解锁阅读权限 或 查看其他获取积分的方式
Unlock interview details and practice with AI
Curated Interview Questions from Top Companies

评分

参与人数 1大米 +10 收起 理由
mnmunknown + 10 回答的很好!

查看全部评分

回复

使用道具 举报

🔗
wenqiang88 2015-9-16 11:42:28 | 只看该作者
全局:
感觉没有O(n)的解法吧,因为找到中间点后没法判断是在它的左边还是右边
回复

使用道具 举报

🔗
 楼主| melody_qyao 2015-9-16 11:54:32 | 只看该作者
全局:
wenqiang88 发表于 2015-9-16 11:42
感觉没有O(n)的解法吧,因为找到中间点后没法判断是在它的左边还是右边

O(n)就是从头到尾扫一遍啊,你的意思是没有O(logn)的解法吗
回复

使用道具 举报

🔗
 楼主| melody_qyao 2015-9-16 12:13:24 | 只看该作者
全局:
kelvinzhong 发表于 2015-9-16 11:50
我觉得这题可以先去找peak, 然后对两边用binary search。

补充内容 (2015-9-16 11:51):

说的好有道理,这么说来应该算是O(logn)的复杂度
回复

使用道具 举报

🔗
坐看云起 2015-9-17 11:26:20 | 只看该作者
全局:
三次二分查找,还是logn的复杂度
回复

使用道具 举报

🔗
zws0818 2015-9-18 06:11:04 | 只看该作者
全局:
这就不就是find peak element吗?leetcode有原题啊
回复

使用道具 举报

🔗
zws0818 2015-9-18 06:13:39 | 只看该作者
全局:
或者说可以吧数组分成两部分,一个升序,一个降序,用一个变量记录peak element,然后两边分别二分
回复

使用道具 举报

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

本版积分规则

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