- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
这个问题不太可能对 future 的访客有帮助;它只与一个小的地理区域、一个特定的时刻或一个非常狭窄的情况相关,通常不适用于互联网的全局受众。如需帮助使这个问题更广泛地适用,visit the help center .
9年前关闭。
我有三种数值范围,它们在某个区间内定义,例如:
1. 计数范围(指定区间内的任意值)
2. 周期序列(指定序列开始、步数和步数)
3. 一组精确值(如 1、3、7 等)
我需要联合/相交它们(从 2 到 N 不同类型)并获得优化的结果。显然,上述交集将返回上述类型之一的结果,将它们合并将导致上述类型的 1 到 M 范围。
示例 1:
第一个范围定义为从 5 到 11 的连续范围,第二个是从 2 到 18 的周期性序列,步骤 2(因此,8 个步骤)。
Intersection 将通过步骤 2 返回从 6 到 10 的周期性序列。
Union 将返回三个结果:从 2 到 4 的周期序列和步骤 2,从 5 到 11 的连续范围和从 12 到 18 的周期序列和步骤 2。
示例 2:
第一个范围定义为具有步骤 2 的周期序列 0 到 10,第二个范围定义为具有步骤 2 的周期序列从 1 到 7(因此,3 个步骤)。
Intersection 将返回 null,因为它们不相交。
Union 将返回两个结果:从 1 到 8 的周期序列,步骤 1(注意:优化结果)和精确值 10。
希望我没有犯错:)
好吧,对这类序列的这些操作不应该太复杂,我希望有一个像这里这样的库。请建议任何(将在 C#.NET 中使用)。
谢谢!
更新
回答“我认为我如何使用图书馆”。以上三种类型都可以在编程语言中轻松定义为:
1.连续:{十进制开始;十进制结束;其中 Start 是范围的开始,End 是结束
2. 期刊:{十进制开始;十进制步长;整数计数;其中 Start 是序列的开始,Step 是增量,Count 是步数
3. 一组精确的数字:{decimal[] Values;其中 Values 是一些小数的数组。
当我对上面列出的任何类型的任何两个范围进行交集时,我肯定会得到其中一种类型的结果,例如“连续”和“定期”范围的交叉将导致“定期”、“连续”。和“精确集”将导致精确集“续”。并且“精确”也将返回精确值。相同类型的交集将返回输入类型的结果。
2 个范围的并集有点复杂,但无论如何都会返回上述类型中定义的 2 到 3 个范围。
有了交集/联合函数,我将始终能够在 2 到 N 范围内运行它,并会在输入类型项中获得结果。
最佳答案
首先,遵循之前的其他答案:我不相信有一个标准库:它看起来非常像一个特例。
其次,问题/要求没有充分说明。我将按照问题介绍将 3 种不同类型称为“集合”、“定期”、“连续”。
考虑两个集合 {1,4,5,6} 和 {4,5,6,8}。它们的交点是 {4,5,6}。我们是否必须将其标记为“周期性”是因为该描述适合这种情况,还是因为它是集合的交集而被标记为“集合”?
由此,更一般地说,我们是否需要将“set”-label 的内容更改为“periodic”?毕竟,“周期”是“集合”的特例。
同样,考虑“周期”{4,6,8} 和集合{10,15,16} 的并集。我们是否必须将结果定义为周期 {4,6,8,10} 加上周期{15,16} 或者更确切地说是一个包含所有值的集合,还是另一种类型?
退化情况如何:{3} 是“集合”、“周期性”还是“连续”? “连续”{1-4} 和“集合”{4,7,8} 的交集是什么类型?和连续{1-4}和连续{4-7}的交集?
依此类推:必须清楚如何标记/描述来自联合和/或交集的任何结果,例如 - 两个离散类型(非连续)的交集或并集是否总是一种类型(通常是一个集合,可能是一个周期),或者更确切地说总是一系列周期,或者......
第三,假设上述问题已经解决,我相信你可以按照以下指导方针来实现:
关于c# - 需要数学库来操作序列/范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12727143/
我不能解决这个问题。和标题说的差不多…… 如果其他两个范围/列中有“否”,我如何获得范围或列的平均值? 换句话说,我想计算 A 列的平均值,并且我有两列询问是/否问题(B 列和 C 列)。我只希望 B
我知道 python 2to3 将所有 xrange 更改为 range 我没有发现任何问题。我的问题是关于它如何将 range(...) 更改为 list(range(...)) :它是愚蠢的,只是
我有一个 Primefaces JSF 项目,并且我的 Bean 注释有以下内容: @Named("reportTabBean") @SessionScoped public class Report
在 rails3 中,我在模型中制作了相同的范围。例如 class Common ?" , at) } end 我想将公共(public)范围拆分为 lib 中的模块。所以我试试这个。 module
我需要在另一个 View 范围 bean 中使用保存在 View 范围 bean 中的一些数据。 @ManagedBean @ViewScoped public class Attivita impl
为什么下面的代码输出4?谁能给我推荐一篇好文章来深入学习 javascript 范围。 这段代码返回4,但我不明白为什么? (function f(){ return f(); functio
我有一个与此结构类似的脚本 $(function(){ var someVariable; function doSomething(){ //here } $('#som
我刚刚开始学习 Jquery,但这些示例对我帮助不大...... 现在,以下代码发生的情况是,我有 4 个表单,我使用每个表单的链接在它们之间进行切换。但我不知道如何在第一个函数中获取变量“postO
为什么当我这样做时: function Dog(){ this.firstName = 'scrappy'; } Dog.firstName 未定义? 但是我可以这样做: Dog.firstNa
我想打印文本文件 text.txt 的选定部分,其中包含: tickme 1.1(no.3) lesson1-bases lesson2-advancedfurther para:using the
我正在编写一些 JavaScript 代码。我对这个关键字有点困惑。如何在 dataReceivedHandler 函数中访问 logger 变量? MyClass: { logger: nu
我有这个代码: Public Sub test() Dim Tgt As Range Set Tgt = Range("A1") End Sub 我想更改当前为“A1”的 Tgt 的引
我正忙于此工作,以为我会把它放在我们那里。 该数字必须是最多3个单位和最多5个小数位的数字,等等。 有效的 999.99999 99.9 9 0.99999 0 无效的 -0.1 999.123456
覆盖代码时: @Override public void open(ExecutionContext executionContext) { super.open(executio
我想使用 preg_match 来匹配数字 1 - 21。我如何使用 preg_match 来做到这一点?如果数字大于 21,我不想匹配任何东西。 example preg_match('([0-9]
根据docs range函数有四种形式: (range) 0 - 无穷大 (range end) 0 - 结束 (range start end)开始 - 结束 (range start end st
我知道有一个UISlider,但是有人已经制作了RangeSlider(用两个拇指吗?)或者知道如何扩展 uislider? 最佳答案 我认为你不能直接扩展 UISlider,你可能需要扩展 UICo
我正在尝试将范围转换为列表。 nums = [] for x in range (9000, 9004): nums.append(x) print nums 输出 [9000] [9
请注意:此问题是由于在运行我的修饰方法时使用了GraphQL解析器。这意味着this的范围为undefined。但是,该问题的基础知识对于装饰者遇到问题的任何人都是有用的。 这是我想使用的基本装饰器(
我正在尝试创建一个工具来从网页上抓取信息(是的,我有权限)。 到目前为止,我一直在使用 Node.js 结合 requests 和 Cheerio 来拉取页面,然后根据 CSS 选择器查找信息。我已经
我是一名优秀的程序员,十分优秀!