lotus

贵有恒何必三更眠五更起 最无益只怕一日曝十日寒

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

1. 题目

读题

 

 

考查点

 

2. 解法

思路

 

代码逻辑

 

具体实现

 

public class Solutions {

public static void main(String[] args) {
System.out.println(solution(10, new int[]{2, 3, 4, 8}, new int[]{2, 5}));
System.out.println(solution(10, new int[]{2, 3, 4, 8}, new int[]{3, 4}));
}

public static int solution(int L, int[] stones, int[] distances) {
Arrays.sort(stones);

int minStep = distances[0];
int maxStep = distances[1];

int i = 0;
int ans = 0;
while (i < L) {
i = jump(i + minStep, i + maxStep, stones);
if (contain(stones, i)) {
ans++;
}
}
return ans;
}

public static int jump(int min, int max, int[] stones) {
for (int i = max; i >= min; i--) {
if (!contain(stones, i)) {
return i;
}
}
return max;
}

public static boolean contain(int[] stones, int x) {
for (int i = 0; i < stones.length; i++) {
if (stones[i] == x) {
return true;
}
}
return false;
}
}

3. 总结

posted on 2023-07-21 11:58  白露~  阅读(85)  评论(0编辑  收藏  举报