刷题感悟😛

  1. 能否连接形成数组
// 本题中主要是两点
1. 对于这种数组 也可以作为value放到map里方便查找 因为查找的时候只需要看第一个元素 所以可以以第一个元素作为key
   这相对于直接遍历数组就很快了
2. 比较的时候for循环里面的i++ j++可以写在一起 也可以不写
    
class Solution {
public boolean canFormArray(int[] arr, int[][] pieces) {
    Map<Integer, int[]> map = new HashMap<>();
    for(int[] piece : pieces){
        map.put(piece[0],piece);
    }
    for(int i = 0; i < arr.length; ){
        if(!map.containsKey(arr[i])) return false;
        int[] temp = map.get(arr[i]);
        for(int j = 0; j < temp.length; i++,j++ ){
            if(arr[i]!=temp[j]) return false;
        }
    }
    return true;
}
}
```java
posted @ 2022-09-22 20:49  Mr_Yan的blog  阅读(18)  评论(0)    收藏  举报