7-1 求解买股票问题

7-1 求解买股票问题

“逢低吸纳”是炒股的一条成功秘诀,如果你想成为一个成功的投资者,就要遵守这条秘诀。“逢低吸纳,越低越买”,这句话的意思是每次你购买股票时的股价一定要比你上次购买时的股价低。按照这个规则购买股票的次数越多越好,看看你最多能按这个规则买几次。

输入格式:
第1行为正整数N(1≤N≤5000)表示能买股票的天数;第2行以下是N个正整数,第i个正整数表示第i天的股价。
12
68 69 54 64 68 64 70 67 78 62 98 87

输出格式:
输出一行表示能够买进股票的最多天数。
4

思路:同最长递增子序列思路相同
外循环是向后遍历,内循环往回看,中间判断是否满足条件
链接: 7-4 最长递增子序列 (30 分)

代码如下:

#include<math.h>
#include<stdio.h>
int n;
int a[11000];
int b[11000];//记录每个点满足递减的个数
int max;//存放递减个数最大值
int main()
{
    scanf("%d",&n);
    for(int i=1;i<=n;i++)
        scanf("%d",&a[i]);
    for(int i=1;i<=n;i++)
    {
        for(int j=i-1;j>=1;j--)
        {
            if(a[i]<a[j]&&b[i]<=b[j]+1)
                b[i]=b[j]+1;
            if(b[i]>max)
                max=b[i];
        }
    }
    printf("%d",max+1);
}

202202061248

上一篇:golang基础


下一篇:基于locust全链路压测系统