过河问题 package ojtest; import java.util.Scanner; public class Sohu3 { public static int getmin(int[] arr){ if(arr.length==0) return 0; int jump=0,cur=0,next=0; for(int i=0;i<arr.length;i++){ if(cur<i){ jump++; if(cur==next) return -1; cur=next; } next=Math.max(next, i+arr[i]); } return cur>=arr.length?jump:(next>=arr.length?jump+1:-1); } public static void main(String[] args) { Scanner input=new Scanner(System.in); int n=input.nextInt(); int[] arr=new int[n]; for(int i=0;i<n;i++) arr[i]=input.nextInt(); System.out.println(getmin(arr)); } }
点赞 评论

相关推荐

不愿透露姓名的神秘牛友
07-02 15:39
点赞 评论 收藏
分享
程序员饺子:正常 我沟通了200多个 15个要简历 面试2个 全投的成都的小厂。很多看我是27直接不会了😅
点赞 评论 收藏
分享
06-16 15:04
黑龙江大学 Java
零OFFER战士:另一个版本查看图片
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务