拥有字符串映射如何将其与给定字符串进行比较

2023-12-20

我们有像 name:location 这样的字符串对的映射(unix 就像绝对位置 a lamyfolder/)。我们得到了一些位置a lamyfolder/mysubfolder/myfile。如何找到哪个地图位置最适合给定的网址?

例如我们有一个这样的地图:

service1:myfolder/
service2:myfolder/mysubfolder/
service3:myfolder/myothersubfolder/
service4:myfolder/mysubfolder/myfile

我们被赋予价值myfolder/mysubfolder/myfile/blablabla/(细绳)。 我们想要找出它与地图中的哪个项目最相关。 搜索结果应为service4作为具有最相关内容的地图项。

那么如何根据给定的字符串值找到与哪个映射元素最相关的呢?

请提供一些代码,因为我是 C++ nube,不知道如何实现这样的事情?

所以我稍微简化了一个问题 -现在我需要的所有关系是给定路径的深度 https://stackoverflow.com/questions/5997723/having-a-map-with-paths-how-to-compare-tham-to-given-path在字符串情况下,只需迭代所有地图路径,查看长度,搜索给定路径中的出现并记住给定路径中找到的最长地图项路径即可实现。


有两种选择:

  1. If you need to run many queries:
    1. 构建逆映射或使用双向映射。
    2. Find first larger element using upper_bound and
      • 如果您需要具有最长公共前缀的元素,请检查此元素和前一个(最后一个较小的)元素,并选择具有较长公共前缀的元素。
      • 如果您需要作为前缀的元素,请向后扫描,直到找到作为前缀的元素。
  2. 如果您只需要一个查询,简单的线性搜索会更快(构建逆映射需要O(n log(n)),而一次迭代只需要O(n)),而且更容易实现。只需迭代地图,为每个值计算前缀长度并记住迄今为止的最佳匹配(我想建议使用std::max_element,但它通过比较运算符实现最大值,而您需要通过指标获得最大值)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

拥有字符串映射如何将其与给定字符串进行比较 的相关文章

随机推荐

  • 移动 CALayer(添加动画)

    好吧 我有一个 CALayerlayer我想用 CADisplaylink 移动它 喜欢 layer center CGPointMake layer center x 10 layer center y 10 但我不能用center or
  • 为任何方法创建 Func 或 Action(在 C# 中使用反射)

    我的应用程序根据设置动态加载 dll 来自数据库 文件 类和方法名称 为了方便 加速和减少反射的使用 我想要一个缓存 遵循以下想法 MethodInfo Invoke 没有什么表现性的 反射性能 创建委托 C 属性 https stacko
  • ASP.Net MVC:在现有项目上从“无身份验证”更改为“个人用户帐户”

    我正在学习有关 ASP Net MVC 的课程 并且达到了该课程依赖于标准 注册 和 登录 功能的程度 当您在创建项目时选择 个人用户帐户 时 Visual Studio 会自动构建这些功能 显然 较新版本的 Visual Studio 现
  • 如何在异步任务中实现此图像视图?

    我有一个 url 传递给一个活动 我试图全屏显示 url 中的图像 但是它会引发主网络线程异常 据我所知 我相信我必须将该方法放入异步任务中 但我似乎根本无法理解它 那么我该如何将此方法放入异步任务中呢 全屏图像视图 java public
  • PS1 环境变量在 mac 上不起作用

    我有一个脚本 不是我自己写的 它在我的命令提示符中显示 git 分支 svn 分支 有谁知道为什么这在 mac 上不起作用 它在linux下完美运行 From https github com xumingming dotfiles blo
  • Observable .catch 不是一个函数

    从 Unix 环境运行代码时 我遇到了这个非常烦人的错误 当我通过本地运行代码时 这工作正常ng serve 但是当我将代码部署到我的服务器时 此错误会停止所有程序执行 ERROR TypeError this http get catch
  • 如何防止logback/slf4j解析换行符

    我使用 logback 和 SLF4j 来登录我的应用程序 我有一个包含换行符的字符串 它是字符串值的一部分 但并不表示新行 当我打印字符串时 logback 会在新行中打印它 如何防止这种情况发生 Code String str geor
  • Cygwin/bash 别名中的空格?

    我正在尝试为 Cygwin bash shell 设置别名 以运行标准 Windows C Program Files 子目录中包含的程序 不幸的是 alias 命令确实不喜欢目录名称中的空格 而且我尝试过的任何方法似乎都不起作用 我正在尝
  • pymysql fetchall() 结果作为字典?

    有没有办法使用 pymysql 将 fetchall 的结果作为字典获取 PyMySQL 包括一个DictCursor 它做我认为你想要的 使用方法如下 import pymysql import pymysql cursors conne
  • 跨线程的 HTTPContext

    我需要为每个网络请求实例化一个单例对象 以便数据处理一次并在整个请求期间有效 我正在使用HttpContext Current Items在 HTTP 请求期间共享数据 一切都很好 直到我们需要单例对象实例跨多个线程 我想到的第一件事是将
  • C++,在堆上创建的对象与本地创建的对象 - 返回指针时

    这是来自的后续问题在 C 中安全 在 C 中不安全 简单返回指针 引用 https stackoverflow com questions 8456335 safe in c sharp not in c simple return of
  • 模拟继承的受保护方法

    我这里有我的问题的简化版本 A类有一个受保护的方法 B类继承了这个方法 public class A protected String getString some Code public class B extends A public
  • 是否有被认为“安全”的 GHC 扩展列表?

    有时 如果没有至少一种语言扩展 我想编写的一段代码是不合法的 当试图在研究论文中实现想法时尤其如此 这些论文往往使用论文撰写时可用的任何漂亮的 超级扩展的 GHC 版本 而没有明确实际需要哪些扩展 结果是我的 hs 文件顶部经常出现这样的内
  • 如何使用货币格式化散景 xaxis 刻度

    我正在使用 jupyter 笔记本制作子弹图来比较两个值 该图已渲染 但我想格式化 x 轴刻度以显示货币 这就是我到目前为止所拥有的 project Rocket targetspend 15000 spend2date 16600 dat
  • 在滚动条上突出显示活动菜单项

    我正在使用 jQuery 进行单页导航 我想要的是当用户滚动时 突出显示的菜单将发生变化 我想出了以下代码 HTML
  • 访问链接 (lnk) 文件目标路径的 VB.NET / C# 代码会产生一些错误路径

    我找到了这段代码 Public Shared Function GetLnkTarget ByVal lnkPath As String As String Dim shl New Shell32 Shell Move this to cl
  • 如何判断一个整数是偶数还是奇数[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions def is odd num Ret
  • ASP.NET 与 EVAL 绑定

    我正在尝试对 asp net 组合框执行以下操作 Text 我想做的是 如果 名称 列为空 则绑定到 其他 列 否则绑定到 名称 列 任何人都知道正确的语法 不断获取未设置为引用的对象 我在 VB Net 中这样做 Thanks Jim 试
  • android 媒体播放器媒体控制器超时

    我已经实现了一个媒体播放器和媒体控制器来传输 mp3 url 然而 我在 TMobile 网络上的设备无法获得良好的 3G 信号 因此它在 EDGE 上运行 我假设媒体播放器因流太慢或不完整而崩溃 是否可以设置超时 没有timeout中的方
  • 拥有字符串映射如何将其与给定字符串进行比较

    我们有像 name location 这样的字符串对的映射 unix 就像绝对位置 a lamyfolder 我们得到了一些位置a lamyfolder mysubfolder myfile 如何找到哪个地图位置最适合给定的网址 例如我们有