Welcome to collectivesolver - Programming & Software Q&A with code examples. A website with trusted programming answers. All programs are tested and work.

Contact: aviboots(AT)netvision.net.il

Buy a domain name - Register cheap domain names from $0.99 - Namecheap

Scalable Hosting That Grows With You

Secure & Reliable Web Hosting, Free Domain, Free SSL, 1-Click WordPress Install, Expert 24/7 Support

Semrush - keyword research tool

Boost your online presence with premium web hosting and servers

Disclosure: My content contains affiliate links.

40,023 questions

51,974 answers

573 users

How to find repeated patterns of numbers in the rows of a matrix with TypeScript

1 Answer

0 votes
function findRepeatingPatterns(matrix: number[][], patternSize: number): void {
    const patternMap = new Map<string, Set<number>>();

    matrix.forEach((row: number[], rowIndex: number) => {
        for (let col: number = 0; col <= row.length - patternSize; col++) {
            const pattern = row.slice(col, col + patternSize).join("-")

            if (!patternMap.has(pattern)) {
                patternMap.set(pattern, new Set());
            }
            patternMap.get(pattern)!.add(rowIndex);
        }
    });

    console.log("Repeated Patterns Found:");
    patternMap.forEach((rows: Set<number>, pattern: string) => {
        if (rows.size > 1) {
            console.log(`${pattern} appears ${rows.size} times in rows: ${[...rows].join(" ")}`);
        }
    });
}

const matrix: number[][] = [
    [1, 2, 3, 8, 9, 7, 4, 9, 6],
    [1, 3, 2, 7, 8, 9, 4, 5, 6],
    [1, 2, 3, 8, 6, 1, 4, 9, 8],
    [1, 2, 3, 0, 8, 8, 4, 5, 9],
    [1, 2, 3, 4, 5, 6, 7, 8, 9],
    [1, 2, 3, 7, 0, 9, 4, 5, 7],
    [1, 3, 2, 4, 5, 6, 7, 8, 9]
];

const patternSize = 3; // Looking for sequences of 3 numbers

findRepeatingPatterns(matrix, patternSize);



/*
run:

"Repeated Patterns Found:" 
"1-2-3 appears 5 times in rows: 0 2 3 4 5" 
"2-3-8 appears 2 times in rows: 0 2" 
"1-3-2 appears 2 times in rows: 1 6" 
"7-8-9 appears 3 times in rows: 1 4 6" 
"9-4-5 appears 2 times in rows: 1 5" 
"4-5-6 appears 3 times in rows: 1 4 6" 
"5-6-7 appears 2 times in rows: 4 6" 
"6-7-8 appears 2 times in rows: 4 6" 

*/

 



answered May 25, 2025 by avibootz
edited May 25, 2025 by avibootz
...