📣 独立日限时特惠: VIP通行证立减$68
楼主: sunraincyq
跳转到指定楼层
上一主题 下一主题
收起左侧

FB 刚电面

🔗
kongkonglin 2014-12-8 17:17:46 | 只看该作者
全局:
是跟leetcode一样的那个sorted array shift产生的array求最大值?还是如楼主所说的先增大后减小?如果是后者,没办法用binary search吧?
如 case1:1,2,3,4,2,1
    case2:1,2,4,3,2,1
这些情况都没办法判断啊。
回复

使用道具 举报

🔗
 楼主| sunraincyq 2014-12-8 22:45:26 | 只看该作者
全局:
kongkonglin 发表于 2014-12-8 03:17
是跟leetcode一样的那个sorted array shift产生的array求最大值?还是如楼主所说的先增大后减小?如果是后者 ...

后一种情况,先增大再减小。用RECURSION然后类似BINARY SEARCH,不过需要多加CHECK来判断找哪边。
回复

使用道具 举报

🔗
jidhuang 2014-12-8 22:46:58 | 只看该作者
全局:
kongkonglin 发表于 2014-12-8 17:17
是跟leetcode一样的那个sorted array shift产生的array求最大值?还是如楼主所说的先增大后减小?如果是后者 ...

如果把A[mid] 和 A[mid-1] 比较 不就能知道当前是增序列还是减序列了吗,贴一个代码求轻拍:
def findMax(self, num):
        L = 0
        R = len(num)-1
        while L < R:
            M = int((L+R)/2)
            if not (num[M] > num[L] and num[M] > num[R]):
                return max(num[L],num[R])
            if num[M] > num[M-1] and num[M] > num[M+1]: # reach maximam
                return num[M]
            elif num[M] > num[M-1]: # left array is monotonic increasing
                L = M+1
            else: # right array is monotonic decreasing
                R = M-1
        return max(num[L],max(num[R],num[M]))
回复

使用道具 举报

🔗
zhongneu 2014-12-17 14:29:46 | 只看该作者
全局:
sunraincyq 发表于 2014-12-8 01:09
最大值没有DUPLICATE, 其他数字可能有,不过不妨碍

1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1

can we use binary search to do it in O(logN)?
回复

使用道具 举报

🔗
wksora 2014-12-19 09:57:37 | 只看该作者
全局:
sunraincyq 发表于 2014-12-8 01:08
唉,已经挂了,答的不好。

楼主你好,她们是直接发的拒信么?隔了多久?非常感谢如果能告知。
回复

使用道具 举报

🔗
wksora 2014-12-19 09:57:44 | 只看该作者
全局:
sunraincyq 发表于 2014-12-8 01:08
唉,已经挂了,答的不好。

楼主你好,她们是直接发的拒信么?隔了多久?非常感谢如果能告知。
回复

使用道具 举报

🔗
 楼主| sunraincyq 2014-12-19 13:16:41 | 只看该作者
全局:
wksora 发表于 2014-12-18 19:57
楼主你好,她们是直接发的拒信么?隔了多久?非常感谢如果能告知。

就两天左右时间,HR给我发的邮件
回复

使用道具 举报

🔗
wksora 2014-12-22 09:35:35 | 只看该作者
全局:
sunraincyq 发表于 2014-12-19 13:16
就两天左右时间,HR给我发的邮件

谢谢~ 祝你后面好运。
回复

使用道具 举报

🔗
圆梦梦剧场 2014-12-22 09:46:03 | 只看该作者
全局:
zhongneu 发表于 2014-12-17 14:29
1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1

can we use binary search to do it in O(logN)?

我觉得有duplicates的话 worst case是O(n)
回复

使用道具 举报

🔗
圆梦梦剧场 2014-12-22 09:48:23 | 只看该作者
全局:
jidhuang 发表于 2014-12-8 22:46
如果把A[mid] 和 A[mid-1] 比较 不就能知道当前是增序列还是减序列了吗,贴一个代码求轻拍:
def findMax ...

你这个会array index out of bound吧?
L = 0, R = 1, M = 0
回复

使用道具 举报

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

本版积分规则

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