【快手】真题-非递减序列
题目描述
对于一个长度为 n 的整数序列,你需要检查这个序列最多改变一个数后是否可以是非递减序列。
非递减序列的定义是:array[i]<=array[i+1] , for 1<=i<n;
数据范围:1≤n≤100001 \leq n \leq 100001≤n≤10000 , 数组中的值满足 0≤val≤100000 \leq val \leq 100000≤val≤10000
输入描述
输入是一个长度为n的整数序列。
输出描述
输出为; 是为1; 否为0
备注
n的取值范围为: [2, 1000]
示例一
输入
3 4 6 5 5 7 8
输出
1
说明
将6变成4, 序列变成 [3 4 4 5 5 7 8],符合非递减序列,因此输出1
示例二
输入
3 4 6 5 4 7 8
输出
0
说明
参考解题 C
#include <stdio.h>
#define maxn 10000
int main() {
int a[maxn]={
0};
int

该博客介绍了快手公司的一道算法面试题,要求检查一个整数序列最多经过一次修改后能否变为非递减序列。博客提供了输入输出描述、数据范围以及多个编程语言的参考解题方案。
451

被折叠的 条评论
为什么被折叠?



