l******n 发帖数: 648 | 1 这个很好理解
比如你做一个数据查询服务,用来存储所有的饮料
比如coke,和pepsi,是很类似的饮料,相比较juice或者酒
这个similarity你是知道的
如果用最原始的办法存储,比如是原始的明文
coke
7 up
orange juice,
vodka
stella beer
.... 此处省略一万行
pepsi
你不能把这些东西都存在内存里,太大了,想想一个字符多大。你只能存在disk上。
一个简单的查询,输入coke,那么和它相似的饮料是什么?你需要在disk上,一个一个
的看,每个entry都要用你已经知道的similarity metric看,哪个算是相似。比如查到
pepsi,你发现similarity score是0.9 - ok找到了,return它。
这个查询要在disk上,很慢。
这时候就要用lsh。每个长长的字符串,都会变成一个很短的binary string 比如
0101010
而且是binary string的similarity,比如不同的个数,和原来你知道的字符串的
similarity近似
binary的字符串是很小的,因为是binary,一... 阅读全帖 |
|
l******n 发帖数: 648 | 2 这个很好理解
比如你做一个数据查询服务,用来存储所有的饮料
比如coke,和pepsi,是很类似的饮料,相比较juice或者酒
这个similarity你是知道的
如果用最原始的办法存储,比如是原始的明文
coke
7 up
orange juice,
vodka
stella beer
.... 此处省略一万行
pepsi
你不能把这些东西都存在内存里,太大了,想想一个字符多大。你只能存在disk上。
一个简单的查询,输入coke,那么和它相似的饮料是什么?你需要在disk上,一个一个
的看,每个entry都要用你已经知道的similarity metric看,哪个算是相似。比如查到
pepsi,你发现similarity score是0.9 - ok找到了,return它。
这个查询要在disk上,很慢。
这时候就要用lsh。每个长长的字符串,都会变成一个很短的binary string 比如
0101010
而且是binary string的similarity,比如不同的个数,和原来你知道的字符串的
similarity近似
binary的字符串是很小的,因为是binary,一... 阅读全帖 |
|
w******1 发帖数: 520 | 3 第一轮:
两个coding:
1.二叉树分层打印,每层打印完后换行
不是很明白怎么用QUEUE, 怎么知道第一行完了呢? 如果不是平衡的二叉树, 是不是
要把空缺的叶子用SPACE 字符串代替呢?
2.两个sorted的array,第一个有足够大的剩余空间装下第二个,merge两个array到第
一个array中
为什么要添加到后面呢?是什么算法啊?
第二轮 也两个coding
1. 给一些单词,找出由相同字母组成的单词并分别打印出来
比如 给一个string 的array "act", "cat", "star", "arts" ,"delegate"
输出结果应该是:
act, cat
star,arts
delegate
需要把这些串给SORT了吗? 如果SORT了, 打印出来的结果就变了啊,
2.
按如下规则产生字符串:
1
11
21
1211
111221
...
给一个参数n,写函数返回第n个字符串
每个字符串是这样生成的:
初始字符串 为 "1" ,因为这个字符串中从开始 |
|
b****e 发帖数: 45 | 4 可以自定义一个编码/解码的协议。可以参考一些file header的设计。比如:
1. 在开头加上字符串分段信息。用's‘表示一个新的字符串,然后紧跟着该字符串的
长度。最后用'e'表示协议header的结束位置。然后把所有字符按顺序连接起来跟在
header的后面。
例子:
把“Hello" "World"连接起来再分解,则编码后的字符串为"s5s5eHelloWorld"。解码
时,依序读取header信息得到两个字符串的长度。然后在结束字符'e'的后面开始读取
各个字符串。 |
|
o***g 发帖数: 2784 | 5 第二题可以用hash
你的目的是找到一种哈希算法,使得哈希代码能够正确的表达字符串顺序
如果就是给出的这些字符串的话,就是最长只有3个字符
可以定义f=25 a=24 .. t=21... z=0,空字符=26
然后fft = 25*26*26 + 25*26 + 21,ff = 25*26*26 + 25*26 + 26
因为你要将ff排到fft前面
由大到小排就行了
这个复杂度就是O(n*lg(n))吧
拓扑的复杂度是多少?
而这个题目,我发现你开始给出的字符串序列是根据你的新规则排好序的,是不是题目
记得有问题?
比如输入的时候是正常的排序规则下得序列:
aac, acd, act, atp, fcp, fft, tbk, tdf
如果f变成在a前面了,该怎么办?
这样的话,就是将排好序的字符串序列分组,找到a开头的字符串序列,是0-3,找到f
开头的字符串序列是4-5,然后将4-5整个搬到0之前。
然后递归,0-3都是a开头,然后查第二个字符,再找a在第二个的和f在第二个的,再整
体搬迁。f开头的这一串也查一遍第二个字符,后面t开头的这段再查第二个字符。
然后第三个字符。。。
... 阅读全帖 |
|
发帖数: 1 | 6 这题比较扰,考的是communication的能力,不是编程的能力
楼主想表达的是:
他理解中的转换:
输入:
字符串:[dog, cat, mouse, rabbit, lion, tiger]
数值: [2, 0, 1, 3, 5, 4]
输出:
字符串:[cat, mouse, dog, rabbit tiger, lion]
google的题目:
输入:
字符串:[cat, mouse, dog, rabbit, tiger, lion]
数值: [2, 0, 1, 3, 5, 4]
输出:
字符串:[dog, cat, mouse, rabbit, lion, tiger]
这个其实很简单
搞一个:temp = [index, string]
例如 temp =[2,dog]
找到2在数值list里的位置0,那么字符串变成
[dog, mouse, dog, rabbit, tiger, lion],
此时 temp = [0,cat]
找到0在数值list的位置1,那么字符串变成:
[dog, cat, dog, rabbit, tiger, lion]... 阅读全帖 |
|
发帖数: 1 | 7 即使不会影响原字符串
你每次还得对字符串进行操作,至少先得辨识最后几位数字,然后cut掉最后的字符串
这个操作很花时间,尤其是字符串很长的话
比方说,你的字符串组含有1billion的 single string(原题没有说string是不是可以
duplicated的)
我可以用1 billion的string,每个string都是字母‘a'
那你要在每个字符串后面加#再加10位数字来辨识
这样增加的额外空间会很客观,还会远远大于原来的空间
所以,这是个非常吃力不讨好的笨方法
我的方法就是完全的O(n),O(1) |
|
r***u 发帖数: 1272 | 8 1. 两幅图片同时动作
PowerPoint的动画效果比较多,但图片只能一幅一幅地动作。如果你有两幅图片要一左
一右或一上一下地向中间同时动作,可就麻烦了。其实办法还是有的,先安置好两幅图
片的位置,选中它们,将之组合起来,成为"一张图片"。接下来将之动画效果设置为"
左右向中间收缩",现在请看一看,是不是两幅图片同时动作了?
2. 滚动文本框的制作
右击工具栏打开"控件工具箱",再点击文本框,而后从"属性"里面把滚动条打开,在TEXT
里面输入文本框的内容.(完成)还可以通过"其他控件"中的SHOCKWAVE FLASH OBJECT 实
现PPT中加入FLASH。
3. 轻松隐藏部分幻灯片
对于制作好的powerpoint幻灯片,如果你希望其中的部分幻灯片在放映时不显示出来,
我们可以将它隐藏。方法是:在普通视图下,在左侧的窗口中,按 Ctrl,分别点击要
隐藏的幻灯片,点击鼠标右键弹出菜单选“隐藏幻灯片”。如果想取消隐藏,只要选中
相应的幻灯片,再进行一次上面的操作即可。
4.在PPT演示文稿内复制幻灯片
要复制演示文稿中的幻灯片,请先在普通视图的“大纲”或“幻灯片”选项中,选择... 阅读全帖 |
|
d********0 发帖数: 5142 | 9 ☆─────────────────────────────────────☆
water123 (字符串) 于 (Fri Dec 24 21:27:07 2010, 美东) 提到:
其实外F被人诟病,最主要还得归功于早年那些为了出国不择手段,连英文都不利索,
还能勇钓白老头的外F吧。那时候中国很穷,有些人希望不劳而获,唯一的资本只能是
身体。
这种婚姻,放到哪儿都会被歧视,也直接造成国女在老外眼中比较cheap 的印象。
不过现在的许多外嫁,特别是身在国外的外嫁,不少是郎才女貌,工作中认识,基于真
感情的,那些高学历有体面工作的年轻白男,在他自己的白人市场中一样抢手,我觉得
没有任何道理说这样的婚姻是因为女方很“cheap”吧。
不过也别小看了国男,人要发贱,其实是不分男女的,国男想钓白女只不过难度大了些
,我就见过一个勇于接手,狂追烂打当年靠嫁美国老头起家,现在有些经济实力的外F
女的国男,我一直觉得,人在重大事情上的选择,才直接反映人品,其他的都只是表象。
一直觉得婚姻对于个人是挺神圣的,因为你得跟这个人相守一辈子,而且,最重要的,
你是希望你的后代混合了这个人的基因,... 阅读全帖 |
|
t******n 发帖数: 2939 | 10 ☆─────────────────────────────────────☆
Mayans (玛雅) 于 (Thu Mar 14 16:40:38 2013, 美东) 提到:
有人的地方就有江湖,买买提自然不例外。一边是流水的各色主角,一个个粉墨登场;
一边是铁打的论坛,看客们品头论足。
就像是大卖场里,有人随地吐痰,自然会有人指指点点。事情的真相从来都是越说越明
了。
韩寒,青年鲁迅,多么响亮的一个名字,青春少年神采飞扬秀发半遮面,什么?居然会
被獐头鼠目中年半秃猥琐男方舟子咬上?而且左一个铁证如山,右一个铁证如山,真是
居心叵测,险恶歹毒。看着韩寒小说度过青春年华的一众萝莉大妈纷纷花容失色,秀眉
紧锁:
---怎么会这样?
---我不信,我不信
---我不要听,我不要听
---怎么办呀怎么办?
大讨论最热闹时期,“你挺方挺寒?”成了众艾迪的问候语。后来呢?吊丝成功逆袭高
帅富(好吧,HH不太高)。
然后比较有名的求发生事件,这是比较少见的从头到尾一边倒。记得求发生换个马甲上
来,被人义愤填膺的一路追着骂。
人心自有公道。都是道上混的,凭着花言巧语,凭着巧言令色,能混多久... 阅读全帖 |
|
c***t 发帖数: 383 | 11 ☆─────────────────────────────────────☆
lilyamao (lilyamao) 于 (Fri Apr 12 10:57:28 2013, 美东) 提到:
都说康妈捐款不透明,组织不严密,你tmd谁死了老公有心思来注册一个非盈利捐款组
织, 制定捐款细则, 随时公开捐款用途,况且这个妈妈还有三个孩子
说她对老公假星星,没有情谊,nnd,康妈的网络祭奠文,当时100多页的bless好不好,
那个时候,你们怎么不说她假星星呢?天涯上那片烂文我看了,说看了前面康妈妈的祭
奠文,你不感动你不是人,看了后面她的捐款要求,立即态度180转变,这个女人就是
别有用心,前面所有铺垫是为了后面的捐款,能这么想的人,有没有人性?只能说小人
之心,以几度人吧。
我也看了,人性就是这样,廉价的同情,谁都会说两句,要出个铜板,100个人,会有
99个人退了,这也没有关系, 但是问题是,有那么一个人出了两文钱,另外99个人就
跳起来,凭什么呀, 凭什么捐给她呀,我比她还穷,这两文钱,你不能给我吗?于是
各种谩骂
☆──────────────────────────... 阅读全帖 |
|
c***t 发帖数: 383 | 12 ☆─────────────────────────────────────☆
Visitation (地沟油一喝,好事自然来) 于 (Fri Apr 19 10:21:52 2013, 美东) 提到:
1)孙维并不是唯一可以接触到铊的人。
青蛙大学的有毒物品管理很松,能够接触到并拿走铊溶液的人很多,她哥哥为了证明她
的清白,拿了个摄像机,独自走进清华大学的几个实验室,拿起带有骷髅头的溶液,带
出实验室,然后又送回去。这些录像后来已经提交给公安局,证明清华的实验室管理一
直很松懈,教育部为此还特地下了文件要全国高校加强有毒物品的管理。
2)孙维缺乏明显的投毒动机。
说孙维妒忌朱令剥夺了她登台演出的机会,平时也有种种妒忌,以致杀人,这种主观的
感觉我们无法确认。只说事实:朱令自己学古琴,有专业水平,是民乐团的主角,她介
绍了孙维进去,孙维开始学的中妧,这是一种跑龙套的乐器,演奏的时候都是三四个一
起上的,根本和古琴无法比,孙维参加了一段时间后放弃了,所以不存在跟朱令争演出
机会的事情。其他生活细节中,并无事实证明孙维对朱令有强烈的嫉妒心。
而且,一般因爱情、钱财而取人性命的多见... 阅读全帖 |
|
c***t 发帖数: 383 | 13 ☆─────────────────────────────────────☆
txak47 (休息,休息。) 于 (Tue Apr 23 11:55:10 2013, 美东) 提到:
[倡议]向李含琳、薛刚居住社区的当地媒体爆料,并报警质疑其孩子监护权
铊事件在美国主流媒体那里还没有成为过热点,所以我们在进行youtube,主流媒体造
势的同时,也可以试着先把这件事同给薛李所在地的本地媒体。他们对这种能吸引很多
眼球的local news应该会很感兴趣,同时也能给薛李二人更直接更猛烈的施加压力。
一旦有当地媒体报道这件事,并且准确指明薛李二人所在,我们就可以报警,投诉其儿
子在父母身边有潜在威胁。一方面其父母有不良记录,包庇杀人嫌犯的过往史;一方面
其父母在facebook上公开孩子信息导致其被网友曝光,所以父母是否能保护孩子应该被
质疑。所以告诉警方应该接管薛李孩子的监护权。
转自华人。
☆─────────────────────────────────────☆
MVPYao (退役了) 于 (Tue Apr 23 11:58:03 2013, 美东) 提到... 阅读全帖 |
|
t******n 发帖数: 2939 | 14 ☆─────────────────────────────────────☆
airdragon77 (仍然自由自我永远高唱我歌) 于 (Mon Apr 22 11:46:30 2013, 美东) 提到:
这是他们的联系方式; 我同时给他们的两个信箱发信
http://onefoundation.cn/html/46/n-646.html
--------------
你好,我叫气龙,人在美国,有两个关于一基金、关于最近救灾的问题。
1、一基金现在已经脱离红十字会,成为独立法人; 我看了你们官网上的合作伙伴,也
没看见有红十字会。你们几个对于震灾的倡议书、报道中,也没有提到红十字会。 但
是网上有传言,中国政府将会对救灾资金进行统筹安排,所有物资最后还是可能通过官
方机构,比如说红十字会,进行安排。我的问题:
一基金跟红十字会可有伙伴合作关系? 在此次救灾行动中,跟红十字会可有合作? 上
述传言,是否如实,针对震灾的捐款,一基金是否全权处理?
2、如果海外华人想把募集到的救灾捐款通过一基金转给灾区,需要怎么进行?
最后,感谢你们第一时间开展救灾行动,你们辛苦了~~
----... 阅读全帖 |
|
P*****i 发帖数: 63 | 15 按照SAS手册定义,substr返回值不应该是一个子字符串,长度就是该子字符的长度吗?
SYNTAX
The SUBSTR function has three arguments:
SUBSTR(SOURCE, POSITION, N)
The function returns N characters, beginning at character number
POSITION from the string SOURCE.
SOURCE—This is the larger or reference string. It can be a
variable or a string of characters.
POSITION—This value is a positive integer and references the
starting point to begin reading the internal group of characters.
N—This value is a positive integer and references the number... 阅读全帖 |
|
s*****r 发帖数: 773 | 16 我也不太理解,就是这个题目说了好久
第一个字符串不能出现第二个字符串没有出现的字符,同一个字符出现的次数不能比第
二个字符串同一个字符出现的次数多
我理解的意思是,第一个字符串的字母的集合,就是第二个字符串的自己的子集合 |
|
|
g**e 发帖数: 6127 | 18 就是有很多字符串,你要设计一个函数,把所有的字符串拼在一起变成一个字符串。然
后还能根据这一个字符串把之前那一系列字符串原样恢复出来
很常见的一道题 |
|
b******e 发帖数: 3348 | 19 ☆─────────────────────────────────────☆
littlebolt (i love bolt) 于 (Thu Jun 16 14:13:42 2011, 美东) 提到:
签了nda,phone和onsite写一起了
1.把一个字符串转成float,字符串可能是负的一百点三还有个指数E-09这样的
2.反转单链表..
3.给一个整数,求next permutation 就是数字组成一样的 但是比这个数大的最小的一
个数
4.一个很大的文件 怎么去掉duplicate
5. circular sorted array找元素
6.分层打印tree
7.一个字符串,每个字符可以替换成好多其他字符,打印所有可能
8.很简单的一个题,就是会用vector, set, map, pair这些玩意就行了
9.应该还有一个题,不难,但是怎么都想不起来了...
效率很高,拒信很快,move on啦~~
☆─────────────────────────────────────☆
gate (离开之后,再见以前) 于 (Thu Jun 16 14:17:... 阅读全帖 |
|
s***c 发帖数: 50 | 20
common
第一题我的方法是: 先找出最短的字符串,然后,对于该字符串的每个字符,依次与
其他字符串的对应位置比较。如果相等,继续下一个字符串。一旦看到一个不等,马上
退出。当前已经完成的最短字符串部分,就是longest common prefix。
第6题,就是给一个int array,每连续K个元素为一组,求该组元素的和。 |
|
b*******y 发帖数: 232 | 21 c++的,我知道这个问题很简单,但编起来想起来总怪怪的
问题: 一个字符串数组,然后查找重复出现的字符串
e.g.
s[0] = "abc"
s[1] = "abc"
它们俩重复
如果我想用stl的set来找重复的字符串,
如果用set把s[0]存入,那用s[1]做key来查找的话,其实是找不到s[0]的,因
为其实我们是把地址存进去了,地址当然不同了。
如果把s[0]对应的字符串转成string格式,然后存入set,那么用s[1]转成的
string来查找的话,能找到重复的元素。
我的问题是:
有什么简单方法既用类似的思路来做,但不那么绕?
如果不是字符串,是一组数组,怎么检查两个数组完全相同? |
|
b*******y 发帖数: 232 | 22 c++的,我知道这个问题很简单,但编起来想起来总怪怪的
问题: 一个字符串数组,然后查找重复出现的字符串
e.g.
s[0] = "abc"
s[1] = "abc"
它们俩重复
如果我想用stl的set来找重复的字符串,
如果用set把s[0]存入,那用s[1]做key来查找的话,其实是找不到s[0]的,因
为其实我们是把地址存进去了,地址当然不同了。
如果把s[0]对应的字符串转成string格式,然后存入set,那么用s[1]转成的
string来查找的话,能找到重复的元素。
我的问题是:
有什么简单方法既用类似的思路来做,但不那么绕?
如果不是字符串,是一组数组,怎么检查两个数组完全相同? |
|
l****p 发帖数: 397 | 23 两通电话,每个45min,到最后两个都超时
第一通电话:
1、指定我简历中的一篇一作文章,让我描述那文章里的内容
2、如何从一个只含有ASCII字符的字符串中找出最频繁的字符
我说用哈希表记录每个字符出现次数,然后他又补充问到哈希表是怎么工作的,我说包
括哈希函数和冲突处理两部分,并简述了一下,说由于字符不太多,可以用链表处理冲突
3、如果这个字符串含有32位Unicode字符的串,如何修改之前的算法
我说为了节省空间,可以把冲突处理方式改成rehashing
4、如果一个同事提出用一个array来记录各个字符的次数,比较你的算法和该同事算
法的优劣
很明显,他出这个题是期望我在第2问中说用array来记录,然后第3问再让我改成
hash,结果我第二问直接就用hash了。我说时间上差不多,但是用于处理ASCII时,
array比较省空间,处理Unicode时,hash比较省空间
5、如果这个字串数据量很大,而且分布在多台机器上,同时由于带宽限制,不能把整个
hash在多台机器中传输,怎么办?
这题没答上来,花了很长时间,后来先下一题的代码,然后还有时间,继续回答这题,最终还是没答
上来... 阅读全帖 |
|
C***U 发帖数: 2406 | 24 恩。我想了一个O(n)的,但是比你的复杂很多,空间也是O(n)的。关键是我觉得如果面
试的时候,现场不好写。你帮我看下对不对。
1) 找到字符串里面所有最大字母的位置,并且全部记录下来。
2) 然后看这些最大字符的后一位,还是找到最大的,并且把这些第二位也最大的记录
下来,然后给他们标记0,假设有k个标记0。把所有剩下的都标记为k,并且还记录这些
剩下的已经比较到哪个位置。这里第二位只过了2边。
3) 继续第二步,一直到找到一个唯一的最大字符串,或者有两个或以上的字符串遇到
下一个最大字符,那么就调用第二步记录的信息,看后一个最大字符串排名第几,如果
有一个唯一的排名最低,那么那个就是第一。如果不是唯一的,那么从第二步那里记录
的地方开始比较。
这样最后会结束比较,而且每个字符串只被比较了常数次。应该是4次吧。 |
|
m***k 发帖数: 946 | 25 只要能想个办法,用一个字符串唯一地表示这棵树,就可以通过比较两棵树的字符串是
否相等来得到答案。
显然这道题是要判断树的结构是否相等,跟结点上的value无关(如果也要求value,下
面的方法也work)。
假设树的结点无value,随便用一种方式给一棵树的每个结点编号(用visited/un-
visited, DFS/BFS皆可)。然后求出每个结点所有的父节点,用BFS可以实现。假设结
点i的所有父节点为a,b,c (a
然后对树进行分层表示,假设树为:
1
/ \
2 3
/ \ \
4 5 6
则字符串为:
[Node1][Node2_Node3][Node4_Node5_Node6]
然后把其中每个Nodei以Node(i|a,b,c)代替,最后得到的字符串就是这棵树的表示串(
即用这个串可以唯一地还原这颗树的结构)。
最后比较两棵树的表示串是否相等即可。 |
|
c********t 发帖数: 5706 | 26 哦,高,确实很好。没有数学脑根本想不到,更别说面试时想到了。你同学是个大牛啊。
我刚才理解歧义了,还在想2有啥用,难道不是任意一个字符串都可以找到“与其”距
离最长的字符串。
改写一下:
定理二 任意一个最长字符串都可以找到另一个字符串,他们的距离是字符串组的最大
距离 |
|
p********r 发帖数: 66 | 27 把字符串看成一个环,用一个下标 i 指向新的字符串的开始位置
i = 2 to n/2 i = k表示pattern的长度是k
i = k 时判断 i%k == 0 并且从k开始的新字符串等于从0开始的字符串(字符串比较可
以in place实现)
如果条件不符合则 i++
比如:
str1 = abcabcabc
i = 2, str2 = cabcabcab 9%2 != 0 => i++
i = 3, str2 = abcabcabc 9%3 == 0 and str2 == str1 => return true
比如:
str1 = bcdbcdbcde
i = 2, str2 = dbcdbcdebc 10 %2 == 0 but str1 != str2 => i++
i = 3, str2 = bcdbcdebcd 10 %3 != 0 => i++
i = 4, similar to i =3
i = 5, str2 = dbcdebcdbc str1 != str2 => return false
aaaaaaaaaa 应该返回True吧... 阅读全帖 |
|
p********r 发帖数: 66 | 28 把字符串看成一个环,用一个下标 i 指向新的字符串的开始位置
i = 2 to n/2 i = k表示pattern的长度是k
i = k 时判断 i%k == 0 并且从k开始的新字符串等于从0开始的字符串(字符串比较可
以in place实现)
如果条件不符合则 i++
比如:
str1 = abcabcabc
i = 2, str2 = cabcabcab 9%2 != 0 => i++
i = 3, str2 = abcabcabc 9%3 == 0 and str2 == str1 => return true
比如:
str1 = bcdbcdbcde
i = 2, str2 = dbcdbcdebc 10 %2 == 0 but str1 != str2 => i++
i = 3, str2 = bcdbcdebcd 10 %3 != 0 => i++
i = 4, similar to i =3
i = 5, str2 = dbcdebcdbc str1 != str2 => return false
aaaaaaaaaa 应该返回True吧... 阅读全帖 |
|
t*********l 发帖数: 844 | 29 给两个string array A,B,要求返回三个array,第一个只包含只出现在A中的字符串,
第二个只包含只出现在B中的字符串,第三个只包含common字符串
然后海量数据下该怎么code。貌似这个电面反馈很好
这个海量数据是指单机有很多数据,还是要用很多机器并行处理?
当有很多数据时,是每两两字符串都要返回三个数组吗,还是所有数据只跟同一个数组
B比较?
返回的字符串可以去掉重复字符吗?还是必须按原串出现次序全部输出,包括重复字符? |
|
Q**F 发帖数: 995 | 30 来自主题: JobHunting版 - 分享一盗题 插入, 删除, 清空,的性能表现可以牺牲的话,是不是用2个map比较好?
任何插入的string,用它所有的前缀做成这两个map的key
一个map的value用一个vector记录所有以该key为前缀的字符串,这个主要用来做1,2
的操作, 另外一个map的value用一个26位长的数组来记录下一个字符及个数,这个用
来做3的操
作。
当删除一个字符串的时候,根据字符串的所有前缀删除第一个map中所有的该字符串。
第二个map的中含有该字符串的前缀的下一个字符的个数减少1
当然,这样会用到巨量空间。如果改用指针的话是不是会节约空间。
map > map1
map > map2; |
|
p***y 发帖数: 637 | 31 stream of strings like this
"1 3 4 5 6"
"3 4 5 6 3"
"4 5 6 3 3"
...
这个是anagram的变体,用anagram的解法即可。
换言之只需要统计每个字符串里,每个字符出现的次数.这里字符仅限0-9,因此可以建
立一个表int[] statics = new int[10]; 然后保持0-9出现的次数。对每个字符串计算
一次,然后用hashSet来保持这些statics.遇到重复值,即为每个数字完全一样的,可
以遗弃。
如果不是数字,而是unicode字符,那么以上解法无效。必须对字符串按字符排序放进
hashSet。
如果是unicode字符串,每个字符串又很长。。。。大概要变成设计题,套轮子了。 |
|
f********t 发帖数: 6999 | 32 【 以下文字转载自 JobHunting 讨论区 】
发信人: mudhoof (正在长牙的羊), 信区: JobHunting
标 题: 这么热闹, 我也报Google offer
发信站: BBS 未名空间站 (Tue Feb 23 12:32:47 2010, 美东)
今天刚刚通知的, 特别感谢一起讨论的krone, geniusxsy, hnm, 特别是blaze教了我很
多, 还要特别感谢mitbbs59的总结帖
一起报offer, 好事成三, 大吉大利, 包子分光为止
贴下我的复习材料
题目大全:
http://www.spellscroll.com/viewquestions/?tag=algorithm
http://www.thecareerplus.com/?page=resources&cat=10
http://interviewcyclopedia.blogspot.com/
http://www.doctorinterview.com/A.html
http://toptechnotes.blogspot.com/search/label/algorith... 阅读全帖 |
|
r*****3 发帖数: 143 | 33 中文名: PHP从入门到精通(第二版)
作者: 潘凯华
刘中华.图书分类: 软件
资源格式: PDF
版本: 高清版
出版社: 清华大学出版社
书号: 9787302227472
发行时间: 2010年7月1日
地区: 大陆
语言: 简体中文
简介:
[内容简介]
本书从初学者角度出发,通过通俗易懂的语言,丰富多彩的实例,详细介绍了使用PHP
进行网络开发应该掌握的各方面技术。全书共分24章,包括初识PHP、PHP环境搭建和开
发工具、PHP语言基础、流程控制语句、字符串操作、正则表达式、PHP数组、PHP与Web
页面交互、PHP与JavaScript交互、日期和时间、Cookie与Session、图形图像处理技术
、文件系统、面向对象、PHP加密技术、MySQL数据库基础、phpMyAdmin图形化管理工具
、PHP操作MySQL数据库、ADODB类库、Zend Framework框架、Smarty模板技术、PHP与
XML技术、PHP与Ajax技术、应用Smarty模板开发电子商务网站等。书中所有知识都结合
具体实例进行介绍,涉及的程序代码均附以详细的注释,可以使读者轻松领会PH... 阅读全帖 |
|
a***n 发帖数: 404 | 34 一组字符串:
s1: a1 a2 a3 a4.
s2: a8 a2 a3 a5
s3: a1 a2 a3 a4..
每个字符串都是由不相同的字母串联成,
类似上面的一组字符串,要求求出一个子串集合,使得集合中的这些子串都是原来某个
字符串的子串;且他们彼此不重叠;而且原来的任意一个字符串都可以由这些子串构成
,并且集合中的子串个数最少。
比方上面例子中: {a1, a2a3, a4, a5} 一共有4个元素。这些子串元素不重叠。 |
|
c******e 发帖数: 545 | 35 这样写没问题,不涉及常规意义上的内存分配释放(堆)
字符串常量都是编译器预分配的,根据体系和实现可能放在.data或者.code段。字符串
常量是静态的,生存周期和程序等同。
char a[] = "abc"
a是在栈上分配的buffer,函数返回就没了,分配本身开销很小(就是改变栈指针),
但是程序需要额外把字符串常量拷贝到a里面。你可以更改a的内容。
char * b = "abc"
b是一个指针(也是栈上的变量),b指向常量字符串。不需要拷贝内容,但是原则上你
不能改变b指向字符串的内容。
你要是感兴趣可以打开编译器的汇编输出看看结果。 |
|
y*******n 发帖数: 22 | 36 [问题] 考虑由A,C,G,T组成的字符串s=a1a2...ak,定义s的权值
为W(s)=sum(w(ai)),其中w(A)=w(T)=1,W(C)=W(G)=2.给定两个参数
c和h(h>c),我们称一组字符串是一组c-h码,如果它们满足下面两个
条件:
(1)其中每个字符串的权值大于h;
(2)只包括任何权值大于c的子串至多一次。
问(1)满足什么条件的c,h才可能有c-h码的解。
(2)给定c和h,如何找到最大的一个c-h码(包含最多字符串)。
[背景]人基因组上存在着一些所谓单核甘酸多态性(single
nucleotide
polymophism)的位点,这些位点上的核甘酸(ACTG之一)在人与人
之间是不一样的。粗略的估计,这些位点大约占整个基因组的0.1%.
根据SNP可以快速的进行基因型鉴定(genotyping),因为基因型的
差异必然是SNP的一种。假定我们已经发现了所有的SNP,利用基因
芯片就可以进行快速的genotyping。这就是SNP TAT(tag/antitag)
系统。具体步骤是这样:
(1)在溶液中合成一些DNA片段(可看作ACTG字符串),每个 |
|
d******a 发帖数: 32122 | 37 【 以下文字转载自 Military 讨论区 】
发信人: didadida (滴滴嗒嗒), 信区: Military
标 题: [合集] 朱令的凶手特征
发信站: BBS 未名空间站 (Sat Apr 20 23:18:57 2013, 美东)
☆─────────────────────────────────────☆
comethalley (Nobody) 于 (Wed Apr 17 12:59:35 2013, 美东) 提到:
要确定投毒的人,
有三个条件要具备:
第一, 要非常恨朱令, 毕竟下两次毒不是一般人能做出来的。 看看平时的言行就知
道了,那个宿舍同学的关系。
第二, 要知道铊的危害性,并且事先已经知道铊盐在哪里。 如果不是预先知道铊盐的
危害,并且知道铊盐在哪里。 选择投毒的时候,就不会选择铊盐的。 毕竟天下毒物很
多, 铊盐也不是唯一的暗器。 查到铊盐的危害,特地跑到实验室里去找着铊盐, 好
象不大可能。 最可能的是看到铊盐的存在后,然后知道其的危害性, 非常恨朱令,
就决定投铊盐了。
第三: 有机会投毒, 有针对性投毒的只能是身边比较亲近的人。... 阅读全帖 |
|
z*******y 发帖数: 578 | 38 我是没讲清楚看来,其实题目就是知道第一个字符串是“1” ,给一个参数n,求第n个
按照这样的规则产生的字符串。中间的字符串不用都存,返回值就是第n个按照此规则
产生的字符串 (我画了个类似链表的东西是想把题目说清楚,不用链表的)
resource? |
|
c***g 发帖数: 472 | 39 给定一个字符串, 输出first non repeated char. 明确说了字符串只有26种字母, a-
z或者A-Z
请问这个题目到底有什么trick和trap, 就是扫描一次字符串计算每个字符出现的次数, 然后再扫描一次字符串输出第一个出现次数为1的就行了. 我写了一个code, 大家帮我看看有哪儿有什么问题么?
很直白很明了啊, 为什么不同的公司反复反复的问题?
#include
char firstNoRepeated(char arr[], int size) {
/*set the counter for the 26 characters */
int counter[26];
for(int i = 0 ; i < 26; i++) {
counter[i] = 0;
}
/* empty array */
if(size == 0 ) return '*';
/* only one element */ |
|
r**********1 发帖数: 292 | 40 我觉的有个名词是fuzz testing。就是说用context free grammar 或者
deterministic state machine来描述可接受的输入字符串,然后可以random 的产生大
量这样的字符串。这时候有个什么时候停止测试的标准,我觉得可以是下面之一,
1.覆盖所有的状态至少一次
2.所有长度为2,3,。。。,k的可接受字符串
3.对于容易出错的状态,覆盖所有从起始状态到这个状态的字符串
具体的工具有Korat at http://korat.sourceforge.net/tutorial.html. |
|
h*****n 发帖数: 209 | 41 有两种方案,一种是用array来存放字符串,另一种是用linked list来存放字符串。
用array的话,访问string里面的某个字符会很快,但是执行两个字符串相加操作的时
候会比较慢。
用linked list的话,它访问string的某个字符比较慢,但执行字符串相加操作会比较
快。
那这个string class到底如何设计比较好呢? |
|
i******s 发帖数: 301 | 42 前几天同学google电面回来,遇到两道题,想跟大家讨论一下。ps: 后天本人也要电面
了,求祝福~
题:
1. 给你一组排序好的double类型的数组,怎样求出某个数出现的次数。
2. 给你一个dictionary, 里面存着n个字符串,再给你一个字符串,请问有多少种方法
划分这个字符串,使得每个字符串都在dictionary中。 |
|
t******t 发帖数: 15246 | 43 不会写程序,但是可以这么搞
读第一个 字母,
计数器=1;
输出字符串=第一个字母
FOR
读当前字母;
如果计数器=0,
计数器=1;
输出字符串+当前字母
如果计数器》0且和上个字母相同,计数器+1
如果不同,将计数器当前数字加入输出字符串;
计数器清0;
结束,输出字符串 |
|
L***Q 发帖数: 508 | 44 假设str[0..n-1]表示整个字符串。基本思路是从str[0]开始,以每个位置作为substring的起点,从该位置往后直到substring能cover所有字符。那么最多就有n个起点。问题是,如何每次只用O(1)来确定substring长度。
我想可以用一个辅助数组记录每种字符出现在字符串中的位置。例如字符a出现在str[0]和str[20]两个地方。假设当前已经确定以str[0]为起点的substring长度。接下来应该确定以str[1]为起点的substring长度。该substring丢弃了str[0],所以必须要至少在str[20]结束,否则字符a没被cover。这就是基本思路。
我用一个例子解释整个算法。假设字符串包括0到9的数字,整个串如下
0247324596818329654001378
第一步扫描字符串,记录下每种字符位置,如下
0:0,19,20
1:11,21
2:1,5,14
3:4,13,22
4:2,6,18
5:7,17
6:9,16
7:3,23
8:10,12,24
9:8,15
第二步,以str[0]为起点,substring的终点在str[1... 阅读全帖 |
|
g***s 发帖数: 3811 | 45 这个zoom是把每一个2×2扩大到4×4.是不是?
首先可以容易发现,这些字符串都有一个特性:把它分成前后两半,只有最后一位是不
同的。
根据这个特性,我们可以把任何一个2^n位的字符串,一一对应到一个n+1位的字符串
encode(s) = encode( s的前一半)+ s后一半的最后一位
同时,这个逆过程也是存在的。设为decode(s).具体就不列了。
那么现在我们题目可以转化成为,找f(s)的左边。
算法如下:
假设encode(s)=src=x1x2...xn
t[a]=b
t[b]=a
t[c]=d
t[d]=c
string prev(src,n) {
if (n==-1) return '' ; //最左元素的左边元素为同行最右边的;
lastChar = src[n-1];
if (lastChar=='d' || lastChar== 'b‘) return src.substring(0,n-1) + t(
lastChar);
else return prev(src.substring(0,n-1)) + t(lastChar);
}
所以,... 阅读全帖 |
|
F**********r 发帖数: 237 | 46 一个字符串,要求返回重复次数最多且最长的子字符串(假设源字符串中最长重复次数
最多的子字符串只有一个)。
例如 “abcabcdfabcdf”要求返回“abcdf”. 因为“
abcdf”重复次数最多且最长。 |
|
m**q 发帖数: 189 | 47 经过了三个月的断断续续的面试和准备,最近一阵抓了很多时间努力准备,
本以为最后的一次面试能弥补前面的不足,可惜还是功亏一篑...
想想主要是自己编程水平不行,不能快速的写出bug free code,另外
design和算法方面有差距,一方面是前面的准备不足,后面拼命努力最终
还是无补 :(
一共面了6个人,把面试题给大家分享,希望大家都能拿到满意的offer。
1) 一个range的序列(链表或数组),如[1,3], [2,6], [8,10],[15,18]
写程序合并有重叠的range,比如上面的序列合并为[1,6], [8,10], [15,18]
如果这个序列不是静态的,而是一个数据流,如何 处理?
2) 利用快速排序的划分方法,把数组分成三部分,< val, = val, > val。
3) 对于google查询的词组成的动态的数据流,在任意时刻取出10个完全随机的查询。
4) 把一个字符串转换成32bit的整数
5) 在一个数组中寻找三个数,使得它们的和为0
6) 大概是用一位数组来表示二维数组,但是每一行的元素个数可以不同,实现get,
set函数
7) 已知每个待查找... 阅读全帖 |
|
m*******e 发帖数: 9 | 48 攒rp, 发面经, 猛烈求bless.
除了我自己的,还汇总了几个朋友的G面试,多数都是一个月以内的,少数3个月以内的
。有phone有
onsite,请某狼13打小报告的时候好好data mining.
1.给字符串求频率最高字符。字符串大咋办,多核咋办。
2.俩数组交集。有序或无序。
3.实现cache.
4.给字符串,里边是几个单词中间没空格,输出所有可能的句子。比如“好运气”,输
出好空格运气。
5.数据流统计最近一个小时流量。
6.写程序找最大convex多边形。
7.复制无loop的有向图。
8.给字符串找最短一段出现过abc。
9.给一段内存,怎么设计malloc和free.
10.设计密码产生器,不能是字典里单词。
11.矩阵有障碍物找路径。
12。给一堆区间找有没有交集。
13. 有序数组找给定sum.
14. 实现hashtable.
15. 猜数字的,找使得最坏情况下猜的数字和最小的策略。
16。一管子硬币AB都只能从两边取求A最大值那个。
17. a[10] 和 malloc出来的区别
18. BT 俩节点最低祖先。
19. 给出生证明,求俩人最近的相同祖先。
... 阅读全帖 |
|
r******r 发帖数: 700 | 49 有点像 regular expression 匹配,但更复杂一些。
给定字符串 Pattern 和待匹配的字符串 S1 & S2:
P = "ABC[l, m] * XYZ[n]"
S1 = "abc ABC[l, z] AB[x] XYZ[n]"
S2 = "abc ABC[m, l] AB[x] XYZ[n]"
其中括号中的 l, m, n, x 分别为其字符的属性。 比如,ABC[l,z] 表示字符串 “ABC
” 具有属性 "l" & "z".
其中,match 的条件为:
1)主字符匹配,比如, "ABC" 必须匹配 “ABC”
2)如果主字符匹配,其属性必须匹配,比如 [l, m] 可以匹配 [m, l],属性的所列顺
序无关。
所以,上面的 P math S2, 但是不 match S1. 如果 match succeed, 打印出所 match
的部分。上面的例子中,应打印出 "ABC[m, l] AB[x] XYZ[n]".
其中的星号 “*”, 表示“一个或多个字符”。
如果去掉其属性匹配部分,就成了一个字符串匹配的问题。请问,这类问题,有什么常
见的解法吗? |
|
g*****i 发帖数: 2162 | 50 * 把一个字符串转换成32bit的整数
题目是要把字符串和整数11对应吗?
假设有k个character是可以用在字符串里面的,把字符串看成k进制的数字,每个字符对应一个数字(要character set转化成number set)然后转成2进制. |
|