一亩三分地论坛

 找回密码
 获取更多干货,去instant注册!

扫码关注一亩三分地公众号
查看: 2572|回复: 14
收起左侧

[实习] Twitter online test

[复制链接] |试试Instant~ |关注本帖
tyr034 发表于 2014-5-10 07:11:50 | 显示全部楼层 |阅读模式

2014(4-6月)-[14]CS本科+fresh grad 无实习/全职 - 内推| 码农类实习@Twitter

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

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

x
前几天接收到twitter的面试通知,非常意外,而且正是final的时候,没有办法,只好硬着头皮上了;在codility 上面做了两题,第一题
做出来了,第二题挂了,最终结果也挂了
第一题:
A positive integer N is given. The goal is to construct the shortest possible sequence of integers ending with N, using the following rules:
the first element of the sequence is 1; more specifically: A[0] = 1,
each of the following elements is generated by multiplying the previous element by 2 or increasing it by 1; more precisely: A = A[i−1] * 2 or A = A[i−1] + 1, for i ≥ 1.
For example, for N = 17, the shortest sequence is:
  A[0] = 1
  A[1] = 2
  A[2] = 4
  A[3] = 8
  A[4] = 16
  A[5] = 17
Write a function:
class Solution { public int solution(int N); }
that, given a positive integer N, returns the length of the shortest possible sequence of integers satisfying the above conditions and ending with N.

For example, given N = 17, the function should return 6, as explained above.
Assume that:
N is an integer within the range [1..2,147,483,647].
Complexity:
expected worst-case time complexity is O(log(N));
expected worst-case space complexity is O(1).

第二题:
是two dimesion array ,找equilibrium point.
稍后补充完整



concurrency 发表于 2014-5-10 10:41:58 | 显示全部楼层
支持一下  期待第二题
回复 支持 反对

使用道具 举报

Linzertorte 发表于 2014-5-18 10:42:07 | 显示全部楼层
第一题感觉就是看二进制有几位,以及这其中几位是1.
回复 支持 反对

使用道具 举报

shire1989 发表于 2014-5-20 06:57:18 | 显示全部楼层
求第二题目?
回复 支持 反对

使用道具 举报

pc1000a 发表于 2014-6-4 05:27:22 | 显示全部楼层
感谢分享 LZ补个第二题呗~
回复 支持 反对

使用道具 举报

 楼主| tyr034 发表于 2014-10-14 06:22:57 | 显示全部楼层
第一题可以这样做:
int shortest(int n){
     int result = 0;
     while(n!=1 ){
          if(n % 2 !=0){
             result++;.鏈枃鍘熷垱鑷1point3acres璁哄潧
         }
         n = n /2;
     
         result ++;
}
   
      
      return result;
        . From 1point 3acres bbs

}.1point3acres缃
回复 支持 反对

使用道具 举报

 楼主| tyr034 发表于 2014-10-14 06:35:11 | 显示全部楼层
第二题相当于是one dimensional array 的延伸. From 1point 3acres bbs
http://www.geeksforgeeks.org/equilibrium-index-of-an-array/. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
就是array中的一个值,它的上面的数加起来等于下面的,左边的数等于右边的。
找到所有的equilibrium points。
不知道有人知道怎么做嘛
回复 支持 反对

使用道具 举报

davidwh 发表于 2014-10-29 01:10:00 | 显示全部楼层
brute force能过测试么
回复 支持 反对

使用道具 举报

majiamajia 发表于 2014-10-29 02:43:42 | 显示全部楼层
楼主我第一题跟你一样哦.1point3acres缃
第二题比你简单。。
谢谢你分享
回复 支持 反对

使用道具 举报

 楼主| tyr034 发表于 2014-10-29 02:49:46 | 显示全部楼层
davidwh 发表于 2014-10-29 01:10
brute force能过测试么

不能的。。
回复 支持 反对

使用道具 举报

davidwh 发表于 2014-10-29 09:29:17 | 显示全部楼层

那只能DP了吧,逻辑就复杂了 O(nm)的时间
回复 支持 反对

使用道具 举报

lsuper 发表于 2015-3-9 12:54:46 | 显示全部楼层
DP 每个cell保存上下左右的sum,从top left ->bottom right,更新上、左,然后bottom right -> top right 更新下、右
对吗?
回复 支持 反对

使用道具 举报

本版积分规则

请点这里访问我们的新网站:一亩三分地Instant.

Instant搜索更强大,不扣积分,内容组织的更好更整洁!目前仍在beta版本,努力完善中!反馈请点这里

关闭

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

手机版|小黑屋|一亩三分地论坛声明 ( 沪ICP备11015994号 )

custom counter

GMT+8, 2016-12-5 16:51

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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