【发布时间】:2016-03-30 13:34:29
【问题描述】:
我想找出以特定顺序匹配/覆盖目标范围的所有相邻范围。例如
给定范围是 5-12
来源范围是
1-7
1-13
4-8
4-12
5-7
5-8
5-12
5-13
7-12
8-12
所以结果应该优先如下
1. 5-12 (Exact match)
2. 5-7,7-12 (Two Adjacent ranges match)[Ranges Start And End Exact Match]
2. 5-8,8-12 (Two Adjacent ranges match)[Ranges Start And End Exact Match]
3. 5-13 (Single Covering range)[Range Start Exact Match]
3. 4-12 (Single Covering range)[Range End Exact Match]
3. 4-8,8-12 (Two Adjacent ranges covering)[Range End Exact Match]
3. 1-7,7-12 (Two adjacent ranges covering)[Range End Exact Match]
4. 1-13 (Single Covering range)[No Ranges Start And End Exact Match]
任何帮助都将受到高度重视。
【问题讨论】:
-
您是在合法使用 .NET 2.0 还是只是您选择的一个标签?答案可能会有所不同
-
另外,根据您的示例,我很难理解您实际正在寻找的逻辑,如果您可以发布一些您尝试过的代码,那将会很有帮助
-
啊,好吧,有些人在他们的问题上扔了任何标签,所以我只是检查一下。我重读了几次你的问题,现在明白了你想要什么逻辑,但我仍然认为你应该发布一些你写的代码,以表明你试图提出自己的算法。这不是一个供人们为您工作的网站
-
其实,我想的算法如下 a) 找到所有相邻的组合 b) 找到覆盖整个目标范围的单个源范围 c) 根据单个精确匹配,相邻的范围对范围进行优先级排序范围开始和结束完全匹配等等。但我很惭愧,我哪儿也不去。只需要存储相邻范围并对其进行处理的方向:(
-
对不起,这个网站的新手。不知道格式化是如何工作的。不小心发表了不完整的评论。