page contents
Nen
Nen - 程序员

性别: 天津 - 天津市 注册于 2021-06-23

向TA求助
2850金币数
43180 经验值
1个粉丝
主页被访问 6233 次

3096 个回答

0 赞同

如何查询最热门的查询串?

分析解答:从题目中可以发现,每个查询串最长为255个字节,1000万个字符串需要占用2.55G内存,因此无法把所有的字符串全部读入到内存中处理。对于这类型的题目,分治法是一个非常实用的方法。 方法一:分治法 对字符串设置一个Hash函数,通过这个Hash函数把字符串划分到更多更小的文件中,从而保证每个小文件中的字符串...

回答于 2021-10-08 11:31

0 赞同

如何统计不同电话号码的个数?

分析解答:这个题目从本质上而言也是求解数据重复的问题,一般而言,对于这类问题首先会考虑位图法。对于本题而言,8位电话号码可以表示的范围为:0000 0000~99999999,如果用1bit表示一个号码,总共需要1亿个bit,大约100MB的内存。 通过上面的分析可知,这道题的主要思路为:申请一个位图并初始化为0,然后遍历所有电话...

回答于 2021-10-08 11:29

0 赞同

如何从5亿个数中找出中位数?

分析解答:如果这道题目没有内存大小的限制,可以把所有的数字排序后找出中位数,但是最好的排序算法的时间复杂度都是O(nlogn)(n为数字的个数)。这里介绍另外一种求解中位数的算法:双堆法。 方法一:双堆法这种方法的主要思路是维护两个堆,一个大顶堆,一个小顶堆,且这两个堆需要满足如下两个特性: 特性一:大顶堆...

回答于 2021-10-08 11:25

0 赞同

如何按照query的频度排序?

分析解答:对于这种题,如果query的重复度比较大,那么可以考虑一次性把所有query读入到内存中处理,如果query的重复率不高,那么可用的内存不足以容纳所有的query,那么就需要使用分治法或者其他的方法来解决。 方法一:map法如果query的重复率比较高,说明不同的query总数比较小,可以考虑把所有的query都加载到内存中的...

回答于 2021-10-08 11:21

0 赞同

如何找出排名前500的数?

分析解答:对于求top k的问题,最常用的方法为堆排序方法。对于本题而言,假设数组降序排列,可以采用如下方法: (1)首先建立大顶堆,堆的大小为数组的个数,即20,把每个数组最大的值(数组第一个值)存放到堆中。 (2)接着删除堆顶元素,保存到另外一个大小为500的数组中,然后向大顶堆插入删除的元素所在数组的下一...

回答于 2021-10-08 11:20

0 赞同

Nil、nil、NULL、NSNull有什么区别?

iOS中表示“空”的几种关键词的用法分别如下:

回答于 2021-10-07 14:09

0 赞同

BOOL、int、foat和指针变量与“零值”比较的if语句分别是什么(假...

不同类型变量与“零值”比较的if语句分别如下:

回答于 2021-10-07 14:08

0 赞同

存储过程(Stored Procedure)是什么?它有哪些优点?

SQL语句执行的时候要首先编译,然后被执行。在大型数据库系统中,为了提高效率,会将为了完成特定功能的SQL语句集进行编译优化后,存储在数据库服务器中,用户通过指定存储过程的名字来调用执行。具体而言,存储过程(StoredProcedure)是一组为了完成特定功能的SQL 语句集,存储在数据库中,经过第一次编译后,再次调用不...

回答于 2021-10-07 14:07

0 赞同

NSString*obj=[[NSData alloc] init];在编译时和运行时分别是什...

编译时是NSString类型对象,运行时是NSData对象。

回答于 2021-10-07 14:05

0 赞同

两个App之间如何互调传值?

第一步,给两个需要相互调用的App设置URL Schemes。 第二步,为了适配iOS 9及以上系统需要在info.plist中注册LSApplicationQueriesSchemes,并在其中指定需要打开的App的URL。 第三步,使用-(void)openURL:(NSURL*)url options:(NSDictionary<NSString*,id>*)options completionHandler:(void (^__nullable)(BOOL s...

回答于 2021-10-07 14:04