- 能否连接形成数组
// 本题中主要是两点
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
标签:感悟,map,arr,return,int,++,piece,刷题
From: https://www.cnblogs.com/ygq-study/p/16720822.html