当前位置: 首页 > news >正文

最长不下降子序列

问题描述:

统计一个数组中的最长不下降子序列。

示例:

输入:14

输入:13 7 9 16 38 24 37 18 44 19 21 22 63 15

输出:8(其中是7 9 16 18 19 21 22 63)

方法:借鉴B站UP主T_zhao的讲解视频,感谢。附上视频链接:详细分析如何求具体的最长不下降子序列 奥赛一本通 1259:【例9.3】求最长不下降序列_哔哩哔哩_bilibili

如有侵权,会主动删帖。

代码:

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<math.h>
int max(int a, int b) {return a > b ? a : b;
}int main() {int a[50], n,maxnum = 0 , i, j;int dp[50];printf("please input n:\n");scanf("%d", &n);printf("please input num:\n");for (i = 0; i < n; i++) {scanf("%d", &a[i]);dp[i] = 1;//初始化dp}for(i=0;i<n;i++){//从第一个数开始往前遍历找比它小的数,更新dpfor (j = 0; j < i; j++) {if (a[i] >= a[j]) {dp[i] = max(dp[i], dp[j] + 1);//与每一个比当前数小的dp+1作比较,存储最大的}}}for (i = 0; i < n; i++) {if (maxnum < dp[i]) {maxnum = dp[i];}}printf("the longest not decline child sequence num is: %d\n", maxnum);return 0;
}

如果想输出最长不下降子序列,则可以像B站UP主所说的那样,多用一个pre数组存储路径。

运行结果截图:

如果该内容对你有小小的帮助,请给我点个赞!谢谢。

http://www.lryc.cn/news/323445.html

相关文章:

  • QT gridlayout 循环设置组件,表格也通用 已解决
  • 后端前行Vue之路(一):初识Vue
  • C#、.NET版本、Visual Studio版本对应关系及Visual Studio老版本离线包下载地址
  • yarn安装包时报错error Error: certificate has expired
  • 手机可以格式化存储卡吗?格式化以后出现什么情况
  • 亚马逊AWS展示高效纠错的全新量子比特!
  • FEX-Emu在Debian/Ubuntu系统使用
  • docker 不同架构镜像融合问题解决
  • windows_anaconda 安装pytorch
  • IP SSL证书注册流程
  • shentou思路流程
  • 航空实时监控
  • 第十四届蓝桥杯JavaB组省赛真题 - 幸运数字
  • 【练习】双指针算法思想
  • Leetcode 20. 有效的括号
  • jupyter | mac jupyter快捷键
  • 么样才能用最便捷的方式为Mac提速呢?
  • 专业前沿问题问答合集10-2——比特币的加密原理
  • C++中的流
  • 解决vue3中使用v-html,click不生效的问题
  • macOS下Java应用的打包和安装程序制作
  • OpenAI GPT商店面临质量与合规问题;黄仁勋预测:十年内AI将实时生成游戏画面
  • 前端根据pdf连接点击下载pdf而不是直接打开
  • pytorch中的gather函数的定义和作用是什么?
  • [ABC206E] Divide Both 解题记录
  • 常见的服务器技术和服务器技术的重要性
  • MATLAB中的数学建模:基础知识、实例与方法论
  • Flutter与Xamarin跨平台APP开发框架的区别
  • 【JAVA】Springboot集成Proguard完成jar包混淆
  • 全流程ArcGIS Pro技术应用