字节跳动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);

}

}

全部评论

相关推荐

谁知道呢_:要掉小珍珠了,库库学三年,这个结果
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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