洛谷[P1420]最长连号

博客详细介绍了洛谷P1420题目的解法,强调了对于输入的n个正整数,如何找到最长的连号序列并输出其长度。博主指出该问题可以通过简单的线性扫描在o(n)时间内解决,而不是使用递归导致超时,进而提供了简洁的非递归代码,并提到尝试用递归解法会TLE。最后,博主引入动态规划(dp)作为优化方案。
摘要由CSDN通过智能技术生成

题目传送门OvO


题目描述

输入n个正整数,(1<=n<=10000),要求输出最长的连号的长度。(连号指从小到大连续自然数)

输入输出格式

输入格式:

第一行,一个数n;

第二行,n个正整数,之间用空格隔开。

输出格式:

一个数,最长连号的个数。


很多同学都把这题想的很复杂,用递归做。
但是这道题n<=10000,明明o(n)可以跑过,为什么这么复杂呢
献上一份不复杂的代码:

#include<bits/stdc++.h>       //神奇头文件不用解释
#define INF 10234567
using namespace std;
int main()                                //不用递归
{
   
    int n,s[1001],ans=0,max=-INF;            //n表示输入有n个正整数,ans呢待会解释,max可以不用想了,一定是最后的答案,为什么被赋值为-INF下面解释
    cin>>n;                                        
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值