问题1:
设计一个魔方(六面)的程序。
分析:
主要考察面向对象编程。魔方程序必须具备以下特征:
(1) 初始化。
(2) 保存当前的状态。
(3) 输出当前的状态。
(4) 很容易做旋转。
(5) 判断当前状态是否已经成功。
问题2:
有一千万条短信,有重复,以文本文件的形式保存,一行一条,有重复。请用5分钟时间,找出重复出现最多的前10条。
分析:
假设每条短信有150个chars组成。则一共有150*1*10^7=1.5*10^9 chars = 1.5GB
1.5GB的内容,放进内存是没有问题的。所以可以使用map来统计每条短信出现的次数。
然后使用小顶堆,统计出出现次数最多的10条短信即可。
问题3:
收藏了1 万条url,现在给你一条url,如何找出相似的url。(面试官不解释何为相似)
分析:
既然面试官不告诉你何为相似,那么就自己思考。可以使用最长公共子序列、编辑距离等来度量相似度。
Read full article from 44-设计魔方 | 源代码
No comments:
Post a Comment