s********0 发帖数: 4278 | 1 kav1pc 暂时不要
期货/现货直接PM付款方式收款(除了chase quick pay),不用问还要不要!
kaspersky大量长期求购Code/Scan
bestbuy随电脑的不要(这种是激活了的)
New,old or Download version都要
请100%确定是没激活过的,不确定的请自己留着!
1. 只要扫面或拍照,把JPG format 发到我的邮件.
2. 发给我后,确认扫描没问题了,可以自己销毁!
3. 不同的软件不要放到一个照片上。
4.请一定做好标记,以免重复发了!
Kaspersky
Kaspersky internet security 3Pc $14
Kaspersky Anti-virus 3Pc ... 阅读全帖 |
|
s********0 发帖数: 4278 | 2 kav1pc 暂时不要
期货/现货直接PM付款方式收款(除了chase quick pay),不用问还要不要!
kaspersky大量长期求购Code/Scan
bestbuy随电脑的不要(这种是激活了的)
New,old or Download version都要
请100%确定是没激活过的,不确定的请自己留着!
1. 只要扫面或拍照,把JPG format 发到我的邮件.
2. 发给我后,确认扫描没问题了,可以自己销毁!
3. 不同的软件不要放到一个照片上。
4.请一定做好标记,以免重复发了!
Kaspersky
Kaspersky internet security 3Pc $14
Kaspersky Anti-virus 3Pc ... 阅读全帖 |
|
t*****y 发帖数: 31 | 3 为啥我觉得跟sort没关系呢
1 -1 -8
是变成-1 -8 1吧。。。不是-8 -1 1吧。。。
扫一遍,记录负的位置就够了吧。 |
|
a***9 发帖数: 364 | 4 不用吧 用两个指针一个在最前一个在最后
如果a[0]+a[n-1]>Sum, 就扔掉a[n-1]并把后指针前移,如果小就扔掉a[0]把前指针后移,
扫一遍就ok? |
|
x****r 发帖数: 99 | 5 哦对!排序好了可以这样
不过扫的时候找到了还得判断一下两个指针都不能指向之前选的i |
|
g*******y 发帖数: 2114 | 6 来自主题: JobHunting版 - 一道电面题 建hash表的时候得一行一行扫吧 |
|
i***1 发帖数: 95 | 7 一个方法是,先按照无重复的方法生成所有的串,然后sort。再扫面一遍,输出不重复
的。
aaa
有别的好法子没? |
|
p*u 发帖数: 136 | 8 第三题没啥好的想法,目前更倾向于用的方法是:
Facebook应该不止会计算一个月以内访问量最大的N个网页,一定也会计算一周以内,
一个季度以内或者一年以内的吧。
所以,我想是否应该都记录下来这样一些信息呢?前K天的各个网页的访问量。由于
timestamp都是排序好的,所以有前K天推到前(K + 1)天,也是很方便的。把这些数据
都写到磁盘上,用的时候再读入内存就好了。
那样要计算某一个区间[a, b]内的网页访问量的时候,就直接用前b天减去前(a - 1)天
的就好了。
现在已知了某一个区间的网页访问量之后,要求访问量最大的N个网页。可以用一个大
小为N的最小堆的结构。当发现某个值大于堆顶元素的值是,弹出堆顶元素,把当前这
个值压入堆中。这样把所有访问量扫一遍,最后留在堆中的就是最大的N个了。 |
|
b***j 发帖数: 336 | 9 呵呵,不好意思。俺比较fresh,中英文翻译总是比较乱
不过看这个的应该都是专业人士,估计扫一眼就晓得唻 |
|
e**********6 发帖数: 78 | 10 LZ第一题用的是K-way mergesort?这题似乎直接用普通的2-way mergesort就能挺好的
解决?另外每次在push数组第一个元素进入heap的时候,max-heapify都要花O(logk),
所以每次遍历一边数组的第一个元素,时间复杂度就是O(k*logk)。而每次扫一遍,只
花log(k)。。。个人感觉用了heap反倒提升了复杂度? |
|
d*****t 发帖数: 41 | 11 赞分享~ bless~
第1题为什么要用HASH呢?如果二进制表示N,一遍扫下来也就是O(logN)吧。
第二人的第1题,我觉得用queue也行。用array初始化成多大才能确保不越界? |
|
j**l 发帖数: 2911 | 12 扫一次就可以了,对a[i]看sum - a[i]是否在hashset中, 在的话返回,不在的话插入a
[i] |
|
x******3 发帖数: 245 | 13 用给table存下1-100每个数在不在数组里,
存一遍, 扫一遍 O(n) |
|
L*****i 发帖数: 470 | 14 我就签了个字,然后扫面发email回去,也不知道做没做background check。
感觉没公司都不一样 |
|
d*******l 发帖数: 338 | 15 我感觉这个问题可以用grass之前在另一个thread里提到的那个方法,就是
while(s[i] != s[s[i]-'a']) swap(s[i], s[s[i]]);
这里写的比较粗略,没考虑大写字母。相当于把每个字母换到对应的位置上,然后可以
作为hashmap来用。不过这需要string2长度至少是26,而且会破坏string2,不知道是
否符合要求。然后扫一遍string1就可以了。 |
|
g**e 发帖数: 6127 | 16 扫一遍B得到一个signature,然后开一个m大小的window沿着A扫描,每次移动一个字符
更新window内字符串的signature,如果跟B一样就返回true |
|
x******2 发帖数: 546 | 17 来自主题: JobHunting版 - 一个电面题 不用hash,线性扫一遍就行了。
每次舍弃2个不同的数,因为那个数超过半数,所以最后剩下的必然是所求 |
|
P**********c 发帖数: 3417 | 18 如果4个billion的数都是2^32-1, 不是一次就扫出来了吗? |
|
c****p 发帖数: 6474 | 19 这样的话还得记录字符第一次出现的位置。
是不是可以这样搞:
第一遍的时候先初始化成0,
某个字符第一次出现的时候记录出现的位置(第一个字符记为1),
第二次出现的时候(即该字符对应的值大于0)记为-1。
然后第二遍再扫一遍就可以。 |
|
|
T*********C 发帖数: 110 | 21 第一个电话面试,用的Skype。
上来先问了Projects
然后问了各方面的小问题:
1. 浏览器中打入www.google.com,到你看到网页之间发生了什么。
2. 解释TCP/IP
3. HTTP包里面有什么
4. POST/GET区别
5. Unix系统下,怎么查找文本文件中的电话号码,(格式xxx-xxxx)。
6. 什么是pipe, 怎么相互通信的(比如,输入和输出的速度不一样时)。
7. 什么是inner join, outer join
8. 数据库Query很慢时,怎么办。
Coding
最开始说有两道coding题,前面聊的时间太长了,然后就一道了。
共享文档用的ietherpad
在log中查找top 10 url
def top_n_urls(url_list, n=10)
用自己熟悉的语言实现。
后面,我问问题。
感觉小公司问网络知识问的挺细的,你答上前面,他就接着问。
Coding的时候,先讨论的想怎么实现。讨论到HashMap+Sort。然后,我就开始想怎么用
java sort hashtable,有点慌。好在面试官没想让我做排序,他就开始问n很小的时... 阅读全帖 |
|
e***s 发帖数: 799 | 22 求解答。
“把array分割成多块,每块都小于mem size, load到memory, sort, 写回disk;然后
merge sort.
之后,顺序扫描另个array,比较每个元素是否相同。”
merge sort的时候也只能一个一个元素从file里面读出吗?这样也会很慢吧?
扫另外一个array,然后再二分查找sort好的那个array?也是直接在file完成吗? |
|
f******t 发帖数: 7283 | 23 给一串数字(比如说1,4,10,22,30,表示4个区间:[1,4],(4,10],(10,22]
,(22,30])。现在给很多个数字,要设计一个快速算法,能用最快的速度告诉那些
数字分别落在哪个bucket那里。比如说前面这个例子输入double数13,算法返回string
,30]"
当然最容易想到的是对于每个输入的数字,都做一个for loop把区间都扫一遍,找到合
适的为止;但这样输入N个数字的时候就要做N次for loop。有没有更好的算法,在输入
是大批量数字的情况下速度比每个数字都要做一次for loop的算法要快呢? |
|
c****p 发帖数: 6474 | 24 应该是这样,先把min和max分别放在A[0],A[n-1],
然后对于A[i],且A[i]-min != i,则将其和A[A[i]-min]换,如果A[A[i]-min]==A[i],
那就fail了(有重复的)。
换完之后再扫一遍,如果有A[i] != i+min的就fail,否则就成功。 |
|
|
u**r 发帖数: 663 | 26 只需要扫一遍,同时记录最小值,数组长度,summation,用等差数列求和公式验证之。
前提是出现重复的就不算sequance. |
|
g*****i 发帖数: 2162 | 27 不用interval tree, linear扫一遍就可以了.楼主给的output确实错了,呵呵.
话说palantir待遇如何有人知道吗? |
|
p*****2 发帖数: 21240 | 28
如果已经找到比a长的pass的单词,还需要扫a吗? |
|
n*******w 发帖数: 687 | 29 bless!
1.写一段程序比较两棵树是否一样。
常见题。
2.有一个奇怪的linkedlist,除了next pointer还有一个random pointer指向一个随机
的节点。问如何实现clone函数。
最近版上刚讨论过。先creat big linkedlist然后split。
3.写一段代码,给一个字符串,例如"30*(5+10)",输出计算结果。
经典算法。两个stack,一个操作数,一个操作符。写代码其实不简单,要定义操作符
的优先级。
4.写一段代码,输入一个数组和一个数字,找两个数组元素和为给定数字。
经典题。允许O(n)空间,hashtable。否则先sort,一前一后两个指针往中间找。
5.输入一个linkedlist和一个数字例如:9->7->8->6->1->2 和 3,输出还是一个
linkedlist但是每三个数reverse一下,例如8->7->9->2->1->6。
版上最近刚讨论过。递归或者iterative都有。
6.如何求一个树的mirror(将所有节点的children节点反序排列).
跟遍历similar。
7.下面这道题目是吃饭的时候问的... 阅读全帖 |
|
O******i 发帖数: 269 | 30 不是brain teaser, 是编程珠玑和knuth都介绍的经典的蓄水池抽样(reservoir
sampling)
另外在面试jane street的时候还遇到一个比较有意思的题目:
现在有一个很长的linkedlist,要从中随机选取一个node,我回答先扫一遍求的长度,
然后在找那个node,他便又问能否给出一个只需要扫描一便linkedlist就可以找到那个
值的方法。
这题是brain teaser吧。答案是使用两个pointer。一个一直往前走,另一个指向结果。 |
|
n*******w 发帖数: 687 | 31 inplace也不难。
先从头扫到尾,统计多少个词。然后从尾到头移动。
第二题O(n)完全没思路。O(n^2)倒可以,都不简单。 |
|
z****c 发帖数: 602 | 32 关于2,那个小印不会以为Hough transform是O(n)的算法吧,虽然对所有的点只扫一遍
。 |
|
z****u 发帖数: 104 | 33 先排序,时间 O(nlgn),空间 O(n) 都可以做到
排序之后,再搜索可能的 pair,从首尾两端扫描,永远不用回头扫,所以时间应该是
O(n)
这样总共的时间是 O(nlgn),空间 depends,但不会超过 O(n) |
|
g*********e 发帖数: 14401 | 34 俩个256的数组,一个记录每个char出现的order
一个记录每个char的count
扫面完了文件以后,寻找count=1的对应order里最小的 |
|
g*********e 发帖数: 14401 | 35 俩个256的数组,一个记录每个char出现的order
一个记录每个char的count
扫面完了文件以后,寻找count=1的对应order里最小的 |
|
y*****n 发帖数: 243 | 36 加油。我觉得你amazon妥了么以前看到的是找n个最近的100个。找1个的话只要扫一次
不就好了。干嘛要用heap呢 |
|
|
U*********y 发帖数: 54 | 38 Find minimum number of characters that need to be inserted into a string (
anywhere in the string) to make it a palindrome.
我给的想法是reverse string, 找 Longest common subsequence(同时记录common
char出现在原string的位置),然后扫一遍原string把所有的非common char按照在
reversed string里的顺序补齐. 求正解! |
|
w****x 发帖数: 2483 | 39
不就是int rec[0xFFFF]计数吗, 扫一遍字符串到*p == 0的时候停止,
和长度有啥关系,难道是我理解错了 |
|
|
w****o 发帖数: 2260 | 41 你太牛了。
不过这个方法和每个说用两个bits,扫两遍,也没有太大的区别(我是说用的时间)。
当然你的方法很新颖。
谢谢! |
|
y****n 发帖数: 743 | 42 两个方法各有优势,各有软肋:
我的方法:
优点:代码结束时能得到完整的可再利用的结果。
缺点:执行过程中修改了数据,实际项目中不能这样做。
你说的方法(两个bits,扫两遍)
优点:思路简单,不用修改原数据
缺点:只能在执行时输出,不能返回结果。
原体要求“打印”还好,如果原体要求“返回”,你说的方法就不能用了。 |
|
w****o 发帖数: 2260 | 43 你太牛了。
不过这个方法和每个说用两个bits,扫两遍,也没有太大的区别(我是说用的时间)。
当然你的方法很新颖。
谢谢! |
|
y****n 发帖数: 743 | 44 两个方法各有优势,各有软肋:
我的方法:
优点:代码结束时能得到完整的可再利用的结果。
缺点:执行过程中修改了数据,实际项目中不能这样做。
你说的方法(两个bits,扫两遍)
优点:思路简单,不用修改原数据
缺点:只能在执行时输出,不能返回结果。
原体要求“打印”还好,如果原体要求“返回”,你说的方法就不能用了。 |
|
|
l****c 发帖数: 782 | 46 很笨的方法是,先把next指针顺序都复制了,再check每个随机指针指的节点的指,如
果是唯一数值,从前面扫一遍找到就是了。值不唯一,数它是倒数第几个定位? |
|
w***o 发帖数: 109 | 47 反例:
a = "deab"
b = "feac"
c = "defeacab"
不管从头还是从尾扫都是false,但实际应该是true;
例如 |
|
w****x 发帖数: 2483 | 48
如果是ascii是不是就用个int a[256]就可以了, 0代表没出现,-1代表dup, >=0 的代表
下标, 最后扫一遍a取>= 0的数里最小的 |
|
b*******d 发帖数: 750 | 49 给出了incoming entry的distribution的曲线,qps是几千这样子。这个system有三个
api:
1)getTopTenMillionInPast24Hour()
2) isInTopTenMilionInPast24Hour()
3) notifyWhenJoinOrRemovedFromTopTenMillionInPast24Hour()
自己来architect系统,定义service能提供数据的精度。
我当时给的是个多台机器的架构。我觉得是旧data每秒钟都在产生(任何当前时间进行
的api call,准确来说,1小时零1秒前的数据都是旧的,对算
top10millioninPast24Hour没有意义),但几乎没有任何系统在一秒钟内可以purge掉
这么多的旧数据,所以就要定义一个精度。比如,semantics是“我能保证给结果是精
确的,但是有个最多20分钟的delay”,或者“我不能保证结果是100%精确的,但是我
能最新的query能够实时的反应在结果中,并且返回的结果和真值有90%的重合”。
其实就是说consistency,availabi... 阅读全帖 |
|
p*****2 发帖数: 21240 | 50 第二题感觉用external sort把两个文件sort了,然后再用two pointer扫一遍 |
|