要回国了,写个简单的总结吧。

一亩三分地论坛

 找回密码
 Sign Up 注册获取更多干货
码农求职神器Triplebyte:
不用海投
内推多家公司面试
坐标湾区
Games Startup
招聘游戏开发工程师
游戏初创公司招聘工程师、UIUX Designer和游戏策划
把贵司招聘信息放这里
查看: 2773|回复: 3
收起左侧

Zenefits OA test2

[复制链接] |试试Instant~ |关注本帖
我的人缘0
ijk5554234 发表于 2015-5-4 06:34:29 | 显示全部楼层 |阅读模式
  此人很可信:
 
0% (暂未有人投票) 【我投】
  此人瞎逼逼:
 
0% (暂未有人投票) 【我投】

2015(4-6月) 码农类General 硕士 全职@Zenefits - 网上海投 - 在线笔试  | Other | fresh grad应届毕业生

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

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

x
第一题

You are given a binary array with N elements: d[0], d[1], ... d[N - 1].
You can perform AT MOST one move on the array: choose any two integers [L, R], and flip all the elements between (and including) the L-th and R-th bits. L and R represent the left-most and right-most index of the bits marking the boundaries of the segment which you have decided to flip.  
. Waral 博客有更多文章,
What is the maximum number of '1'-bits (indicated by S) which you can obtain in the final bit-string?

'Flipping' a bit means, that a 0 is transformed to a 1 and a 1 is transformed to a 0 Input Format
An integer N
Next line contains the N bits, separated by spaces: d[0] d[1] ... d[N - 1]

Output:
S

Sample Input:
8
1 0 0 1 0 0 1 0

Sample Output:
6
说白了就是一个包含1和0的数组 翻转其中连续的一部分 求一次翻转后1最多有多少个。此题一开始超时,后来用滑动窗口过了。
附代码:
def  bitFlip(arr):
    maxcount = 0
    count = 0
    for i in range(len(arr)):
        count = max(0, count). 牛人云集,一亩三分地
        count += 1 if arr == 0 else -1
        maxcount = max(maxcount, count)
    return arr.count(1) + maxcount

上一篇:Epic onsite 5/3/2015
下一篇:Facebook 3面(4/27 完整版)
我的人缘0
 楼主| ijk5554234 发表于 2015-5-4 06:43:12 | 显示全部楼层
  此人很可信:
 
0% (暂未有人投票) 【我投】
  此人瞎逼逼:
 
0% (暂未有人投票) 【我投】
第二题就是虫吃叶子的题 给定一个int作为叶子的数量,再给一个数组,其中每个数代表一个虫行走的步数, 求没有被吃掉的叶子数量。 比如n = 100, bug = {2,5}, 那么一百片叶子中号码是2或者5的倍数的叶子全部被吃掉了。

此题一开始用暴力法超时,后来用最小公因数最大公倍数的方法还是有几个case超时, 最后实在不想写就直接提交了。自己觉得这题代码写得很烂
        public static int eat2(int n, int[] b) {
                HashSet<Integer> set = new HashSet<Integer>();
                for (int x : b) {-google 1point3acres
                        boolean test = false;
                        for (int y : set) {
                                if (x % y == 0){
                                        test = true;
                                        break;
                                }
                                if (y % x == 0){. from: 1point3acres
                                        test = true;
                                        set.remove(y);. From 1point 3acres bbs
                                        set.add(x);
                                        break; 来源一亩.三分地论坛.
                                }
                        }
                        if (!test) set.add(x);
                }
               
                int cm = 1;
                while (true) {
                        boolean test = true;
                        for (int x : set) {
                                if (x > cm || cm % x != 0) {.1point3acres网
                                        test = false;
                                        break;
                                }. 围观我们@1point 3 acres
                        }
                        if (test) break;
                        cm++;
                }
                int count = 0;
                for (int i = 1; i <= cm; i++) {
                        boolean test = false;
                        for (int x : set) {
                                if (i >= x && (i % x == 0)) {
                                        test = true;
                                        break;
                                }               
                        }
                        if (test) count++;. 牛人云集,一亩三分地
                }. visit 1point3acres for more.
                int time = n / cm;
                int rest = n % cm;
                int sum = time * count;
               
                for (int i = 1; i <= rest; i++) {-google 1point3acres
                        boolean test = false;
                        for (int x : set) {
                                if (i >= x && i % x == 0) {. From 1point 3acres bbs
                                        test = true;
                                        break;
                                }

                        }
                        if (test) sum++;
                }.本文原创自1point3acres论坛
                return n - sum;
        }
回复 支持 反对

使用道具 举报

我的人缘0
丸小西 发表于 2015-5-5 13:36:15 | 显示全部楼层
我也刚做完,题目一模一样。-google 1point3acres
感觉第一题有点想lc上面 maximum subarray的改变。. more info on 1point3acres
第二题如果用inclusive exclusive principle, 可以分解成lc上面subset + LCM
回复 支持 反对

使用道具 举报

我的人缘0
d1987115w 发表于 2015-5-10 16:08:32 | 显示全部楼层
  此人很可信:
 
0% (暂未有人投票) 【我投】
  此人瞎逼逼:
 
0% (暂未有人投票) 【我投】
丸小西 发表于 2015-5-5 13:36
我也刚做完,题目一模一样。
感觉第一题有点想lc上面 maximum subarray的改变。
第二题如果用inclusive e ...

想问问 用subset+lcm的解法 能通过所有test case不超时吗?多谢!
回复 支持 反对

使用道具 举报

游客
请先登录

本版积分规则

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

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

关闭

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

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

custom counter

GMT+8, 2018-5-28 02:09

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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