[职场感言] 工作一年了,聊聊三件事

一亩三分地论坛

 找回密码
 Sign Up 注册获取更多干货
E轮2.5亿美元融资
K12教育独角兽一起作业
北京-诚聘人工智能/教育/大数据岗
坐标湾区
Games Startup
招聘游戏开发工程师
游戏初创公司招聘工程师、UIUX Designer和游戏策划
码农求职神器Triplebyte:
不用海投
内推多家公司面试
把贵司招聘信息放这里
查看: 1512|回复: 7
收起左侧

刚面完的Bloomberg面经

[复制链接] |试试Instant~ |关注本帖
玛奇朵肉丝 发表于 2016-2-11 03:56:09 | 显示全部楼层 |阅读模式

2016(1-3月) 码农类General 硕士 全职@Bloomberg - 网上海投 - 技术电面  | Other | fresh grad应届毕业生

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

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

x
一接电话发现是烙印,口音不是很重,语速也挺慢的,但是人感觉不是很热情,让我自我介绍的时候面试官说电话里老有echo......我说让他重打,他说不用就这样吧。。我就继续说了
题目给的是一个sorted array,但是不知道array的长度,给了一个判断outOfBound(int idx)的函数,再给一个target numbet,让我找target是否存在于array中。
大概思路就是从第一个index开始找,如果array[index]<target,则index*=2,继续找,如果array[index]<target,那么就bianery search index/2和index这个区间。如果index outOfBound,那就继续while判断array[(index/2+index)/2]是不是outOfBound......

代码没有写完,估计跪了. From 1point 3acres bbs
大家加油!

评分

4

查看全部评分

 楼主| 玛奇朵肉丝 发表于 2016-2-12 08:08:50 | 显示全部楼层
想了一下其实不难,代码如下
-google 1point3acres
  1. boolean findElement(int[] arr, int target) { 来源一亩.三分地论坛.
  2.             if(!outOfBound(0) && arr[0] == target)
  3.                 return true;
  4.             int cur = 1;. 留学申请论坛-一亩三分地
  5.             while(!outOfBound(cur)) {
  6.                     if (arr[cur] == target)
  7.                             return true;. more info on 1point3acres
  8.                     else if(arr[cur] < target) {
  9.                     cur = cur * 2;
  10.                 }else if (arr[cur] > target) {
  11.                     return binarySearch(arr, cur/2, cur, target);
  12.                 }. 牛人云集,一亩三分地
  13.            }.留学论坛-一亩-三分地
  14.            int l = cur/2, r = cur;
  15.            int mid;
  16.            while(l <= r) {
  17.                    mid = (l + r)/2;
  18.                    if(outOfBound(mid)) {
  19.                            r = mid - 1;
  20.                    } else {. visit 1point3acres for more.
  21.                            if(arr[mid] == target)
  22.                                    return true;
  23.                            else if(arr[mid] < target) {
  24.                                    l = mid + 1;
  25.                            } else {
  26.                                    return binarySearch(arr, l, mid - 1, target);.1point3acres网
  27.                            }. from: 1point3acres
  28.                    }
  29.            }
  30.            return false;.1point3acres网
  31.         } 来源一亩.三分地论坛.
  32.         . 牛人云集,一亩三分地
  33.         public boolean binarySearch(int[] arr, int l, int r, int target) {
  34.                 int mid;
  35.                 while(l <= r) {
    . visit 1point3acres for more.
  36.                         mid = (l + r)/2;
  37.                         if(arr[mid] == target)
  38.                                 return true;
  39.                         else if(arr[mid] < target) {
  40.                                 l = mid + 1;
  41.                         }else {
  42.                                 r = mid - 1;
  43.                         }
  44.                 }
  45.                 return false;
  46.         }
复制代码
回复 支持 1 反对 0

使用道具 举报

 楼主| 玛奇朵肉丝 发表于 2016-2-11 03:57:38 | 显示全部楼层
手误写错了一点。。如果array[index]>target, 那么久binary search index/2和index这个区间
回复 支持 反对

使用道具 举报

nnno 发表于 2016-3-2 14:19:46 | 显示全部楼层
回复 支持 反对

使用道具 举报

 楼主| 玛奇朵肉丝 发表于 2016-3-3 11:11:51 | 显示全部楼层
nnno 发表于 2016-3-2 14:19. 牛人云集,一亩三分地
Leetcode两道题的混合 https://leetcode.com/problems/add-two-numbers/ https://leetcode.com/problems/re ...

为啥是这两道题的混合?
回复 支持 反对

使用道具 举报

yalyka 发表于 2016-3-15 03:01:15 | 显示全部楼层
我觉得更整洁的办法是先用bsearch和outOfBound(int i)求出array长度,然后再bsearch判断有没有target
回复 支持 反对

使用道具 举报

 楼主| 玛奇朵肉丝 发表于 2016-3-15 04:41:47 | 显示全部楼层
yalyka 发表于 2016-3-15 03:01
我觉得更整洁的办法是先用bsearch和outOfBound(int i)求出array长度,然后再bsearch判断有没有target
. visit 1point3acres for more.
嗯对呀,我就是基于这种方法又优化了一点点,就是在求出array长度的同时顺便找出target
回复 支持 反对

使用道具 举报

zsz1990ustc 发表于 2016-3-24 05:57:11 | 显示全部楼层
玛奇朵肉丝 发表于 2016-2-12 08:08. 一亩-三分-地,独家发布
想了一下其实不难,代码如下

楼主的代码有些冗余,第一部分, 在发现了 outOfBound 之后 或者 arr[cur] > target 之后,就直接 break,进入下面的二分查找了,就完事了。不用再单独写个二分法函数到处调用。
. 留学申请论坛-一亩三分地
        public boolean findElement(int[] arr, int target){
                if (arr == null || arr.length == 0){
                        return false;. visit 1point3acres for more.
                }
                if (arr[0] == target){.本文原创自1point3acres论坛
                        return true;. 留学申请论坛-一亩三分地
                }
                int cur = 1; 来源一亩.三分地论坛.
                while (!outOfBound(cur)){
                        if (arr[cur] == target){
                                return true;
                        } else if (arr[cur] < target){. more info on 1point3acres
                                cur = cur * 2;. 1point 3acres 论坛
                        } else {. 1point3acres
                                break;
                        }. 围观我们@1point 3 acres
                }
                int left = cur / 2;
                int right = cur;
                while (left < right){. 1point 3acres 论坛
                        int mid = left + (right - left) / 2;
                        if (outOfBound(mid)){
                                right = mid - 1;
                        } else {
                                if (arr[mid] == target){
                                        return true;.本文原创自1point3acres论坛
                                } else if (arr[mid] < target){
                                        left = mid + 1;
                                } else {
                                        right = mid - 1;
                                }
                        }
                }. 1point3acres
                return false;
        }. From 1point 3acres bbs

谢谢楼主分享~ 我也要面BB了,求人品啊~~~

补充内容 (2016-3-24 05:59):
第一句应该
. 围观我们@1point 3 acres
if(outOfBound(0)){
   return false;
}
写惯了。。囧。。
Mobile Apps Category (English)728x90
回复 支持 反对

使用道具 举报

本版积分规则

提醒:发帖可以选择内容隐藏,部分板块支持匿名发帖。请认真读完以下全部说明:

■隐藏内容方法: [hide=200]你想要隐藏的内容比如面经[/hide]
■意思是:用户积分低于200则看不到被隐藏的内容
■可以自行设置积分值,不建议太高(200以上太多人看不到),也不建议太低(那就没必要隐藏了)
■建议只隐藏关键内容,比如具体的面试题目、涉及隐私的信息,大部分内容没必要隐藏。
■微信/QQ/电子邮件等,为防止将来被骚扰甚至人肉,以论坛私信方式发给对方最安全。
■匿名发帖的板块和方法:http://www.1point3acres.com/bbs/thread-405991-1-1.html

关闭

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

手机版|小黑屋|一亩三分地论坛声明

custom counter

GMT+8, 2018-5-24 16:26

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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