【力扣C语言】每日一题—第121题,买卖股票的最佳时机

题目:

返回获取的最大利润:

这题可浪费时间了!!!

主要是暴力求解超时!!!

最后参考了一下答案

解题思路:

思路一:

暴力求解:两重for循环判断最大利润(超时)

VS代码:

#include <stdio.h>
​
​
int main(int argc, char const *argv[])
{
    int prices[]={7,6,4,3,1};
    int pricesSize=5;
    int prices_max=prices[1]-prices[0];
    for(int i=0;i<pricesSize;i++)
    {
        for(int j=0;j<i;j++)
        {
            if((prices[i]-prices[j])>prices_max)
            {
                prices_max=prices[i]-prices[j];
            }
        }
    }
    if(prices_max<0)
    {
       // return 0;
       prices_max=0;
    }
    //return prices_max;
    printf("%d\n",prices_max);
    return 0;
}
​

思路二:

1、定义最小值为999999(定大一点,小了在范围内会出现不跳转的情况导致出错,比十的四次方大就可以)定义最大值为0;

2、i从0到pricesSize(有效数字个数);

3、判断最大值与利润(当前遍历值-最小值)的大小,利润大于最大值,将利润赋值给最大值。

4、判断最小值与当前值的大小,最小遍历值小于当前值,将当前遍历值赋给最小值。

5、返回最大值。

Vs代码:

#include <stdio.h>
​
​
int main(int argc, char const *argv[])
{
    int prices[]={7,1,5,3,6,4};
    int pricesSize=6;
    int prices_max=0;
    int prices_min=9999;
    for(int i=0;i<pricesSize;i++)
    {
        prices_max=prices_max<(prices[i]-prices_min)?(prices[i]-prices_min):prices_max;
        prices_min=prices_min>prices[i]?prices[i]:prices_min;
    }
    printf("%d\n",prices_max);
    return 0;
}

最终通过代码:

int maxProfit(int* prices, int pricesSize) {
    int prices_min=10001,prices_max=0;
    for(int i=0;i<pricesSize;i++)
    {
        prices_max=prices_max<(prices[i]-prices_min)?(prices[i]-prices_min):prices_max;
        prices_min=prices_min>prices[i]?prices[i]:prices_min;
    }
    return prices_max;
}

再接再励吧!!!!!!!

脑袋空空。

如果有更好的方案,请赐教,感谢!

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-10 04:56:04       66 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-10 04:56:04       70 阅读
  3. 在Django里面运行非项目文件

    2024-07-10 04:56:04       57 阅读
  4. Python语言-面向对象

    2024-07-10 04:56:04       68 阅读

热门阅读

  1. AJAX学习笔记上(学习自用)

    2024-07-10 04:56:04       29 阅读
  2. linux之段错误的分析

    2024-07-10 04:56:04       25 阅读
  3. 三级_网络技术_11_路由设计技术基础

    2024-07-10 04:56:04       19 阅读
  4. Ubuntu上如何安装nvm包管理器

    2024-07-10 04:56:04       23 阅读
  5. python项目常见使用的传参调试方法

    2024-07-10 04:56:04       31 阅读
  6. 深入理解Spring Boot中的数据库优化

    2024-07-10 04:56:04       27 阅读
  7. HOW - React Router v6.x Feature 实践(react-router-dom)

    2024-07-10 04:56:04       22 阅读
  8. Mysql:时区问题

    2024-07-10 04:56:04       18 阅读
  9. WebSocket 双向通信

    2024-07-10 04:56:04       24 阅读
  10. 3102.最小化曼哈顿距离

    2024-07-10 04:56:04       25 阅读
  11. Power BI数据分析可视化实战培训

    2024-07-10 04:56:04       21 阅读
  12. Python文字数字转换利器: word2number库详解

    2024-07-10 04:56:04       30 阅读