C语言 Stock span 库存跨度问题
在股票交易中,股票价格的跨度被定义为股票价格小于或等于当天价格的最大连续日数(从当天开始往回数,包括当天)。例如,如果未来7天股票的价格是 [100, 80, 60, 70, 60, 75, 85],那么股票跨度将是 [1, 1, 1, 2, 1, 4, 6]。
为了解决这个问题,我们可以使用一个栈来保存之前的价格。具体做法如下:
- 创建一个空栈和一个空数组 result 用于保存计算结果,其中栈元素表示股票的价格对应的索引。
- 对于每个价格,重复以下步骤直到栈为空或栈顶停留在一个价格上,该价格高于或等于当前价格。
- 弹出栈顶元素并更新跨度。
- 将当前价格的索引推入栈顶以便与未来的价格比较。
- 重复步骤2-3,直到处理完所有的价格。
下面是完整的源码实现,包括库存跨度函数的定义、实现以及用于测试的 main 函数。
#include <stdio.h>
#
本文介绍了如何使用C语言解决股票库存跨度问题。通过创建一个栈来保存股票价格的索引,逐步比较并计算出跨度值。代码示例中包含了库存跨度函数的实现和测试用的main函数。
订阅专栏 解锁全文
522

被折叠的 条评论
为什么被折叠?



