5.17 学习记录

181 阅读1分钟

公司项目

部署浙江网信的项目

具体内容涉及公司机密,查看本地文档。

拉取项目最新代码后报错

主要是配置文件的问题,由于不同分支对应的需求不同,端口号和映射域会有不同,因此需要更新配置文件并且修改与其他项目相关联的内容。

拓展学习

每日一题

题目

给定一个非负整数数组,你最初位于数组的第一个位置。 数组中的每个元素代表你在该位置可以跳跃的最大长度。 判断你是否能够到达最后一个位置。 示例 1: 输入: [2,3,1,1,4] 输出: true 解释: 从位置 0 到 1 跳 1 步, 然后跳 3 步到达最后一个位置。

思路

使用递归思想,起点是下标0,根据它跳跃的距离,在跳跃的起点和终点之间寻找下一个能跳的最远的点,如果跳跃的终点大于等于目的地,则一定能到达。

代码

public static  boolean canJump(int[] nums) {
        int n = nums.length;
        boolean result = false;
        result = util(nums, 0, n - 1);
        return result;
    }

    public static boolean util(int[] nums, int i, int target ){
        int jump = nums[i];
        if( i + jump >= target) return true;
        int maxjump = 0;
        int maxqidian = 0;
         boolean result = false;
             if(jump == 0) return false;
             int j = i +1 ;
             for(; j < i + jump +1 ; j++) {// 寻找能到达的能跳的最远的一个
                  if(nums[j] + j > maxjump) {
                      maxjump = nums[j] + j;
                      maxqidian = j;
                  }
             }
           result = util(nums, maxqidian,target);
         return result;
    }