字节跳动22号第四题--两次遍历满足约束

import java.util.Arrays;

import java.util.Scanner;

public class T4 {

public static void main(String[] args) {

Scanner scanner = new Scanner(System.in);

int n = scanner.nextInt();

int m = scanner.nextInt();

int[] con = new int[n];

Arrays.fill(con, Integer.MAX_VALUE);

for (int i = 0; i < m; i++) {

int a = scanner.nextInt();

int b = scanner.nextInt();

con[a] = b;

}

int[] dp = new int[n];

dp[0] = 0;

for (int i = 1; i < n; i++) {

dp[i] = Math.min(dp[i - 1] + 1, con[i]);

}

for (int i = n - 2; i > 0; i--) {

dp[i] = Math.min(dp[i + 1]+ 1, dp[i]);

}

int ans = Arrays.stream(dp).max().getAsInt();

System.out.println(ans);

}

}

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务