TreeMap 的作用,使数据插入按key进行排序
同时能有API,返回不大于给定值的最大值和不小于给定值的最小值
用法介绍https://blog.csdn.net/x_i_y_u_e/article/details/46372023
LeetCode 975
public int oddEvenJumps(int[] A) {
int len=A.length;
boolean[][]dp=new boolean[len][2];
dp[len-1][0]=dp[len-1][1]=true;
TreeMap<Integer,Integer>map=new TreeMap<>();
map.put(A[len-1],len-1);
int count=1;
for(int i=len-2;i>=0;i--){
int v=A[i];
if(map.ceilingKey(v)!=null){
dp[i][1]=dp[map.get(map.ceilingKey(v))][0];
}
if(map.floorKey(v)!=null){
dp[i][0]=dp[map.get(map.floorKey(v))][1];
}
count+=dp[i][1]?1:0;
map.put(v,i);
}
return count;
}