int n = in.nextInt(); int[] arr = new int[n]; for (int i = 0; i < n; i ) { arr[i] = in.nextInt(); } if (arr.length == 1){ System.out.println(arr[0]); continue; } int k = in.nextInt(); int[] dp = new int[arr.length]; Deque<Integer> deque = new LinkedList<>(); for (int i = 0; i < arr.length; i ) { if (!deque.isEmpty() && i - deque.peekFirst() > k) { deque.pollFirst(); } dp[i] = (deque.isEmpty() ? 0 : dp[deque.peekFirst()]) arr[i]; while (!deque.isEmpty() && dp[i] >= dp[deque.peekLast()]) { deque.pollLast(); } deque.offerLast(i); } System.out.println(dp[dp.length-1]);
点赞 2

相关推荐

影04714:把图书管理系统那个项目经验内容适当的减少掉,然后改成据为己有不要说团队项目,因为图书管理系统这类常见的谁来了都能独立写出来,提问能圆过来即可
点赞 评论 收藏
分享
10-31 13:04
南华大学 Java
嵌入式的小白:很多面试,面试前不会去打扰cto的,但一般cto不会在这些小事上刷人,只能说这个cto比较操心,啥重要不重要,紧急不紧急的,估计都会过问,平淡看待吧
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务