贪心算法求无序数组最大递增序列

给定一个无序的数组,获取其最大的递增序列。下面使用贪心算法实现:

1、算法实现

cpp 复制代码
void max_seq(int*  arr,int len)
{
    /// 标记递增序列的开始位置
   int  start = 0;
   /// 记录最大的递增序列数
   int  max = 0;

   int  i = 1;
   for( ; i<len; i++)
   {
      /// 如果当前元素大于上一个元素,说明递增序列已经结束,需要重置起始位置
      if(arr[i]  < arr[i-1])
      {
         start = i;
      }
      int  temp =  i - start + 1;
      max  =  max > temp ? max :temp;
   }
   printf("the max  seq is  %d\n",max);
}

2、测试算法

cpp 复制代码
int main()
{
    int arr[]  = { 5,2,1,2,3,1,4,5,6,7,3,8,9} ;
    int len = sizeof(arr)/sizeof(int);
    printf("arr === len =  %d \n",len);
    max_seq(arr,len);
    while (1) {}
    ///getchar()
    exit(0);
}

上述数组最大的递增序列是 1,4,5,6,7 这个5个数,执行程序,可以计算的得到max的值为5

相关推荐
WHS-_-20222 分钟前
Tx and Rx IQ Imbalance Compensation for JCAS in 5G NR
javascript·算法·5g
jinmo_C++14 分钟前
Leetcode_59. 螺旋矩阵 II
算法·leetcode·矩阵
夏鹏今天学习了吗15 分钟前
【LeetCode热题100(81/100)】零钱兑换
算法·leetcode·职场和发展
北京地铁1号线24 分钟前
Embedding 模型的经典benchmark:MTEB
算法
焦糖玛奇朵婷31 分钟前
盲盒小程序:开发视角下的功能与体验
java·大数据·jvm·算法·小程序
QiZhang | UESTC44 分钟前
【豆包生成,写项目看】探寻最优学习路径:线性回归从框架补全到从零手写
学习·算法·线性回归
知乎的哥廷根数学学派2 小时前
基于多物理约束融合与故障特征频率建模的滚动轴承智能退化趋势分析(Pytorch)
人工智能·pytorch·python·深度学习·算法·机器学习
我是一只小青蛙8882 小时前
位图与布隆过滤器:高效数据结构解析
开发语言·c++·算法
eso19832 小时前
白话讲述监督学习、非监督学习、强化学习
算法·ai·聚类
chen_jared2 小时前
反对称矩阵的性质和几何意义
人工智能·算法·机器学习