• Jump Game II


    Given an array of non-negative integers, you are initially positioned at the first index of the array.
    
    Each element in the array represents your maximum jump length at that position.
    
    Your goal is to reach the last index in the minimum number of jumps.
    
    Have you met this question in a real interview? Yes
    Example
    Given array A = [2,3,1,1,4]
    
    The minimum number of jumps to reach the last index is 2. (Jump 1 step from index 0 to 1, 
    then 3 steps to the last index.)
    public int jump(int[] nums) {
            int step = 0;
            int max = 0;
            int start = 0;
            for (int i = 0; i < nums.length - 1; i++) {
                max = Math.max(max, i + nums[i]);
                if (i == start) {
                    step++;
                    start = max;
                }
            }
            return step;
        }
    

      

    巧用 Integer.MAX_VALUE;来替换 true

    public int jump(int[] A) {
            // write your code here
            //state
            int[] can = new int[A.length];
           
            //initialize
            can[0] = 0;
            
            //function
            for (int i = 1; i < A.length; i++) {
                can[i] = Integer.MAX_VALUE;
                for (int j = 0; j < i; j++) {
                    if (can[j] != Integer.MAX_VALUE && j + A[j] >= i) {
                        can[i] = can[j] + 1 > can[i] ? can[i] : can[j] + 1;
                    }
                    }
            }
            return can[A.length - 1];
        }
    

      

  • 相关阅读:
    神奇的条件注解-Spring Boot自动配置的基石
    Spring 注解配置原理
    元注解之@Repeatable
    MyBatis批量操作
    MapperScannerConfigurer源码解析
    Spring包扫描机制详解
    SqlSessionTemplate源码解析
    DataSourceUtils源码分析
    Spring事务源码分析
    多核CPU
  • 原文地址:https://www.cnblogs.com/apanda009/p/7290941.html
Copyright © 2020-2023  润新知