c# 分治算法

本文通过一个股票买卖的例子,阐述如何运用分治算法来寻找最佳买卖时机。股票价格波动具有一定的规律,通过定义数组记录波动组合,以最低价为low,最高价为high,中间值mid,分别在low-mid和mid-high区间寻找最佳组合。最终程序运行展示了分治策略在解决此类问题中的应用。
摘要由CSDN通过智能技术生成

贴上问题图片在这里插入图片描述
1:问题阐释买浮漂问题,假设下面是你买每天买股票的价格:{ 100, 113, 110, 85, 105, 102, 86, 63, 81, 101, 94, 106, 101, 79, 94, 90, 97 },只列举了一部分,但是股票每天的价格都有波动,所以怎么来合理安排哪天买入,哪天卖出
2:波动的规律:{13,-3.-25,20…}规律为后一天的减去前一天的
3:定义一个数组用来装规律的组合在这里插入图片描述
4:解决思路{1,2,3,4,5,6,7,8},假设里面的数字为每天波动的标记,标记为第一天波动,第二天波动…以此类推,设定最左边为最小的low,最右边为最大high,中间就取中间值,这里不用管它是基数还是偶数,通过四舍五入取到整数
5:第一种情况:在low-mid中找到最佳组合
在这里插入图片描述
6:在mid-high中找到最佳组合

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值