1、队列
java版本
Queue<Integer> queue = new ArrayDeque();
queue.add(code);
while (!queue.isEmpty())
int code = queue.remove()
C++版本
queue<pair<int,int> >Q;
Q.push(make_pair(i, j));
while (!Q.empty()){
pair<int,int> x = Q.front();Q.pop();
2、填充矩阵
memset(dis, -1, sizeof(dis));
3、hashmap
Map<Integer, Integer> map = new HashMap();
if (map.containsKey(complement) && map.get(complement) != j) {
return new int[] { j, map.get(complement) };
}
map.put("ZhangYi",98);int value2=map.remove("Lisi");
4、上下左右四个方向用数组
int dir_x[4]={0, 1, 0, -1};
int dir_y[4]={1, 0, -1, 0};
5、二维数组复制
一行一行用clone()
if (map.containsKey(complement) && map.get(complement) != j) {
return new int[] { j, map.get(complement) };
}
6、动态二维数组 用listarray实现
List<int[]> res = new ArrayList<>();
int[] arr = new int[j-i];
for (int k = i; k < j; k++) {
arr[k-i] = k;
}
res.add(arr);
res.toArray(new int[res.size()][]);
python直接
res = []
arr = list(range(i, j))
res.append(arr)
7、hashset
HashSet<String> hashSet = new HashSet<String>();
hashSet.add(aString);
hashSet.remove(bString);
8、x^1 异或可以使其变成(0变1 1变0)(2变3 3变2 )