题解 | 非递减序列

import java.util.*;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        // 注意 hasNext 和 hasNextLine 的区别
        List<Integer> list = new ArrayList<>();
        while (in.hasNext()) { // 注意 while 处理多个 case
            int num = in.nextInt();
            list.add(num);
        }   
        int ct = process(list);
        System.out.println(ct);
        
    }


    private static int process(List<Integer> list) {
       int count = 1;
       int line = list.get(0);
       for (int i=1; i<list.size()-1; i++) {
        int a = list.get(i-1); // 找到前一个数
        int b = list.get(i); // 找到当前数
        if (a <= b) {
            line = a; // 如果正常 记录底线
        }  else {
            if (b < line || count == 0) { // 如果当前数 比底线还低 没法只改变当前数 因为前一数 a 也比它大
                return 0;
            } else {
                count--; // 改变次数减 1
            }
        }
       }
        return 1;
    }
}

全部评论

相关推荐

2025-12-28 16:32
重庆邮电大学 Java
程序员花海:1.技能放最后,来面试默认你都会,技能没啥用 2.实习写的看起来没啥含金量,多读读部门文档,包装下 接LLM这个没含金量 也不要用重构这种 不会给实习生做的 3.抽奖这个还是Demo项目,实际在公司里面要考虑策略,满减,触发点,触发规则 库存 之类的,不是这个项目这么简单 4.教育背景提前,格式为 教育背景 实习 项目 技能 自我评价
简历被挂麻了,求建议
点赞 评论 收藏
分享
01-15 19:59
中山大学 C++
牛客60887332...:你这是人写出来的? 本科标到硕士后面 留那么多空给 hr 填?
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务