首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何从 100 亿 URL 中找出相同的 URL?

来源 | https://doocs.github.io/advanced-java/ 题目描述 给定 a、b 两个文件,各存放 50 亿个 URL,每个 URL 各占 64B,内存限制是 4G。...请找出 a、b 两个文件共同的 URL。 解答思路 每个 URL 占 64B,那么 50 亿个 URL占用的空间大小约为 320GB。...思路如下 : 首先遍历文件 a,对遍历到的 URL 求 hash(URL) % 1000 ,根据计算结果把遍历到的 URL 存储到 a0, a1, a2, ..., a999,这样每个大小约为 300MB...这样处理过后,所有可能相同的 URL 都在对应的小文件中,即 a0 对应 b0, ..., a999 对应 b999,不对应的小文件不可能有相同的 URL。...然后遍历 bi 中每个 URL,看在 HashSet 集合中是否存在,若存在,说明这就是共同的 URL,可以把这个 URL 保存到一个单独的文件中。

2.9K30

面试:如何从 100 亿 URL 中找出相同的 URL?

---- 来源:8rr.co/FR7V 题目描述 给定 a、b 两个文件,各存放 50 亿个 URL,每个 URL 各占 64B,内存限制是 4G。请找出 a、b 两个文件共同的 URL。...解答思路 每个 URL 占 64B,那么 50 亿个 URL占用的空间大小约为 320GB。...思路如下 : 首先遍历文件 a,对遍历到的 URL 求 hash(URL) % 1000 ,根据计算结果把遍历到的 URL 存储到 a0, a1, a2, ..., a999,这样每个大小约为 300MB...这样处理过后,所有可能相同的 URL 都在对应的小文件中,即 a0 对应 b0, ..., a999 对应 b999,不对应的小文件不可能有相同的 URL。...然后遍历 bi 中每个 URL,看在 HashSet 集合中是否存在,若存在,说明这就是共同的 URL,可以把这个 URL 保存到一个单独的文件中。

4.6K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    面试:如何从 100 亿 URL 中找出相同的 URL?

    来源:8rr.co/FR7V 题目描述 给定 a、b 两个文件,各存放 50 亿个 URL,每个 URL 各占 64B,内存限制是 4G。请找出 a、b 两个文件共同的 URL。...解答思路 每个 URL 占 64B,那么 50 亿个 URL占用的空间大小约为 320GB。...思路如下 : 首先遍历文件 a,对遍历到的 URL 求 hash(URL) % 1000 ,根据计算结果把遍历到的 URL 存储到 a0, a1, a2, ..., a999,这样每个大小约为 300MB...这样处理过后,所有可能相同的 URL 都在对应的小文件中,即 a0 对应 b0, ..., a999 对应 b999,不对应的小文件不可能有相同的 URL。...然后遍历 bi 中每个 URL,看在 HashSet 集合中是否存在,若存在,说明这就是共同的 URL,可以把这个 URL 保存到一个单独的文件中。

    2.3K20

    面试经历:如何从 100 亿 URL 中找出相同的 URL?

    题目描述 给定 a、b 两个文件,各存放 50 亿个 URL,每个 URL 各占 64B,内存限制是 4G。请找出 a、b 两个文件共同的 URL。...解答思路 每个 URL 占 64B,那么 50 亿个 URL占用的空间大小约为 320GB。...思路如下 : 首先遍历文件 a,对遍历到的 URL 求 hash(URL) % 1000 ,根据计算结果把遍历到的 URL 存储到 a0, a1, a2, ..., a999,这样每个大小约为 300MB...这样处理过后,所有可能相同的 URL 都在对应的小文件中,即 a0 对应 b0, ..., a999 对应 b999,不对应的小文件不可能有相同的 URL。...然后遍历 bi 中每个 URL,看在 HashSet 集合中是否存在,若存在,说明这就是共同的 URL,可以把这个 URL 保存到一个单独的文件中。

    1.9K00

    如何为你的 Windows 应用程序关联 URL 协议,以便在浏览器中也能打开你的应用

    移动程序关联 URL 是常态,桌面应用程序其实也早就支持关联 URL 以便在浏览器中打开。当我们的程序关联了一个 URL 协议之后,开发的网站上就可以通过这个 URL 与程序进行互操作,这很互联网。...对于 Windows 桌面应用来说,关联一个 URL 协议是通过修改注册表来实现的。本文介绍如何为你的应用关联一个 URL 协议。...本文我们将定义一个 walterlv 协议,然后关联到我们本地安装的一个桌面应用程序上,然后使用 walterlv://open?id=1 来打开一个 id 为 1 的逗比。...walterlv 根键 中的 (Default) 属性给出的是链接的名称;如果后面没有设置打开方式(也就是那个 Shell\Open\Command)的话,那么在 Chrome 里打开就会显示为那个名称...在正确填写了注册表的以上内容之后,在 Chrome 里打开此链接将看到以下 URL 打开提示: 关于注册表路径的说明: HKEY_LOCAL_MACHINE 主键是此计算机上的所有用户共享的注册表键值

    2.4K40

    如何在 Mac 上同时打开多个 MediaInfo 应用程序实例?

    此时,我们就可以通过菜单栏的打开功能打开对应的视频文件,当然也可以直接把对应的视频文件拖拽到 MediaInfo 应用程序中。然后,我们就可以看到该视频文件的详细的音频和视频参数了。...步骤二 想要打开第二个 MediaInfo 应用程序实例,这里就不能像第一步那样直接双击图标了,需要一点技巧。...具体操作如下 1)打开系统的应用程序预览界面; 2)找到 MediaInfo 应用程序; 3)右键选中 MediaInfo.app 文件,选择“显示包内容”。...具体操作可以参考下图: 5)双击 MacOS 目录下的 MediaInfo 可执行文件,我们就打开了一个新的 MediaInfo 应用程序实例,同时还会打开一个终端窗口。...结论 好了,通过上面的介绍,我们现在已经知道如何在 mac OS 系统上同时打开 MediaInfo 应用程序实例了。那么,问题来了,这种方法是不是具备一定的普适性呢?

    1.5K30

    如何从Django应用程序发送Web推送通知

    这些密钥标识应用程序服务器,可用于减少推送订阅URL的保密性,因为它们限制对特定服务器的订阅。 要获取VAPID密钥,请导航到wep-push-codelab Web应用程序。...在此步骤中,您将更新此文件以包含您在上一步中创建的视图的新路由以及django-webpush应用程序的URL ,这将为订阅用户提供推送通知的端点。...因为我们希望服务工作者的范围是整个域,所以我们需要将其安装在应用程序的根目录中。您可以在本文中详细了解如何注册服务工作者的过程。...您还完成了获取从应用程序服务器发送推送通知所需的VAPID密钥的步骤。 结论 在本教程中,您学习了如何使用通知API订阅用户以推送通知,安装服务工作者和显示推送通知。...您可以进一步配置通知,以便在单击时打开应用程序的特定区域。可以在此处找到本教程的源代码。 更多Linux教程请前往腾讯云+社区学习更多知识。

    9.9K115

    WPF使用URL协议实现网页中打开应用

    常见方案 网页唤起指定软件,其实就是利用URL来执行一个关键字Key,这个Key是注册表中的一个键,Value是指定路径的exe,亦可携带参数启动exe; 步骤1 检查关键字是否已存在 //检查注册表是否已包含...= null) { executablePath = registryRunKey.GetValue("URL Protocol") as string; registryRunKey.Close...{ commandKey.SetValue("", "\"" + value + "\"" + " \"%1\""); } fKey .SetValue("URL...a=arg1&e=arg2">点击打开MyApp.exe 步骤4 软件启动时解析参数 //此处会获取到步骤2中设置的Value;和步骤3中的href;参数自行解析 var args = Environment.GetCommandLineArgs...(); REG 保存为Notepad2.reg Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\Notepad2] "URL Protocol

    1.1K21
    领券