44.腾讯面试题(算法):
1.设计一个魔方(六面)的程序。
2.有一千万条短信,有重复,以文本文件的形式保存,一行一条,有重复。
请用5分钟时间,找出重复出现最多的前10条。
3.收藏了1万条url,现在给你一条url,如何找出相似的url。(面试官不解释何为相似)
思路:
1.一直感觉腾讯的题出的都是比较奇葩的。这道题初看上去一样没有思路,在网上找了下,看到网友的思路如下:
用三维坐标描述每一个小块,对面提供旋转方法,然后没做一个变更就检测是不是成功了
2.先hash统计每个短信出现的次数,然后在用堆找出出现次数最多的前10条
3.我初步想的是,url相似我就简单的认为是字符串相似。我定义两个字符串之间的距离,为字符串1通过最少n步变化可以得到字符串2,那么字符串1和字符串2之间的距离就为n,然后用户可以定义一个自己满意的距离k,当两个字符串之间的距离小于k,我们就认为两个字符窜相似。