问题描述
解决方案
用字典树,遍历一遍,将数据添加到字典树,然后查询。内存开销8000字节以内,时间开销N+LogN
解决方案二:
如果不算数据输入的时间,2秒之内完成是没有任何问题的,即使是m=n=1000000的情况,估计0.5秒就可以完成,基本思路如下:
1.使用一个int(4字节)的低三位来存储一个三元组;使用两个int数组分别存储n个三元组和m个三元组,内存不超过8M
2.对n个int进行排序,即使n=1000000,对于目前的cpu来说,不会超过0.2秒;
3.对于每个m,使用二分法在n中查抄,时间不会超过0.3秒
如果不算数据的导入,时间不会超过0.5秒,由于不清楚你的原始数据是存在文件中的,还是存在数据库中的,不过不管是文件还是数据库,200万的数据导入都不会超过0.5秒。
解决方案三:
如果不算数据输入的时间,2秒之内完成是没有任何问题的,即使是m=n=1000000的情况,估计0.5秒就可以完成,基本思路如下:
1.使用一个int(4字节)的低三位来存储一个三元组;使用两个int数组分别存储n个三元组和m个三元组,内存不超过8M
2.对n个int进行排序,即使n=1000000,对于目前的cpu来说,不会超过0.2秒;
3.对于每个m,使用二分法在n中查抄,时间不会超过0.3秒
如果不算数据的导入,时间不会超过0.5秒,由于不清楚你的原始数据是存在文件中的,还是存在数据库中的,不过不管是文件还是数据库,200万的数据导入都不会超过0.5秒。
解决方案四:
一道C语言的题目
【C语言】一道给力的题目
分享C语言中的unsigned类型的一道题目
时间: 2024-10-31 00:58:18