题解 | #Redraiment的走法#

Redraiment的走法

https://www.nowcoder.com/practice/24e6243b9f0446b081b1d6d32f2aa3aa


import java.util.Arrays;
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int n = scanner.nextInt();
        int[] ints = new int[n];
        for (int i = 0; i < n; i++) {
            ints[i] = scanner.nextInt();
        }
        System.out.println(maxAscendingSteps(ints));
    }

    public static int maxAscendingSteps(int[] heights) {
        int[] ints = new int[heights.length];
        // 默认步数1
        Arrays.fill(ints, 1);
        // 从第二个元素开始遍历
        for (int i = 1; i < heights.length; i++) {
            // 确定之前每个元素到该元素可以跳的最大步数
            for (int k = 0; k < i; k++) {
                if (heights[k] < heights[i]) {
                    // 跳到当前位置i的最大步数 = 跳到某个位置的已有步数 + 1
                    ints[i] = Math.max(ints[i], ints[k] + 1);
                }
            }
        }
        Arrays.sort(ints);
        return ints[ints.length - 1];
    }
}

全部评论

相关推荐

纯朴的商业竞争手段
职场不咸鱼:看来商家也喜欢jd
投递美团等公司6个岗位 > 京东美团大战,你怎么看?
点赞 评论 收藏
分享
抱抱碍事梨a:三点建议,第一点是建议再做一个项目,把自我介绍部分顶了,第二点是中南大学加黑加粗,第三点是建议加v详细交流
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务