【发布时间】:2013-12-18 05:38:07
【问题描述】:
检查一个数字序列是否具有增加或减少趋势的最佳方法是什么?
我知道我可以选择序列的第一个和最后一个值,并检查它们的差异,但我想要一个更可靠的检查。这意味着我希望能够在大部分递减的序列中容忍少数递增的值,反之亦然。
更具体地说,数字存储为
vector<int> mySequence;
关于我正在处理的数字序列的更多细节:
- 序列中的所有数字具有相同的数量级。这意味着不会出现如下序列:[45 38 320 22 12 6]。
- 下降趋势我的意思是大部分或全部序列中的数字小于前一个。 (相反的情况适用于上升趋势)。因此,以下序列将被视为降序:[45 42 38 32 28 34 26 20 12 8 48]
【问题讨论】:
-
您能否举一个序列的示例,其中第一个值大于最后一个值,但您会认为该序列增加 ?这对我来说真的没有意义。
-
如果你有 200 个而不是 34 个,你的序列还会下降吗? IE。尺寸是否重要,还是您只是将所有数字的左侧数字与右侧数字进行比较?
-
如果这是一个编程问题,你必须指定你的算法来确定序列是增加还是减少,然后尝试实现它,然后 如果您有任何问题,请提出问题。
-
请注意,这个问题不是关于 C++,而是关于定义“趋势”。
-
@frickshit 输入值永远不会超出其他值的范围。