# 代码技巧收集
# 动态滑动窗口,与贪心结合
- 跳跃游戏 II
比较有技巧的遍历方式
class Solution {
public int jump(int[] nums) {
int n = nums.length;
int end = 0;
int step = 0;
int max = 0;
for (int i = 0; i <= end; i++) {
if (end >= n-1) return step;
max = Math.max(max, i+nums[i]);
if (i == end) {
step++;
end = max;
}
}
return -1;
}
}
# ListNode
public class Main {
public class ListNode {
int val;
ListNode next;
ListNode() {}
ListNode(int val) { this.val = val; }
ListNode(int val, ListNode next) { this.val = val; this.next = next; }
public ListNode addNext(int val) {
next = new ListNode(val);
return next;
}
@Override
public String toString() {
return "{" +
"val=" + val +
", next=" + next +
'}';
}
}
}