2D array traverse trick

Use

for(int[] seq: seqs) {
    if(seq.length == 1) {
        if(!map.containsKey(seq[0])) {
            map.put(seq[0], new HashSet<>());
            indegree.put(seq[0], 0);
        }
    } else {
        for(int i = 0; i < seq.length - 1; i++) {
            if(!map.containsKey(seq[i])) {
                map.put(seq[i], new HashSet<>());
                indegree.put(seq[i], 0);
            }

            if(!map.containsKey(seq[i + 1])) {
                map.put(seq[i + 1], new HashSet<>());
                indegree.put(seq[i + 1], 0);
            }

            if(map.get(seq[i]).add(seq[i + 1])) {
                indegree.put(seq[i + 1], indegree.get(seq[i + 1]) + 1);
            }
        }
    }
}

Instead

for(int i = 0; i < seqs.length; i++){
    for(int j = 0; j < seqs[i].length; j++){
        seqs[i][j]
        ....
    }
}

results matching ""

    No results matching ""