Estadísticas del código: Determinar si en un array bidimensional hay N valores consecutivos en cualquier dirección - JavaScript

Imágen de perfil
Val: 2.288
Plata
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

Determinar si en un array bidimensional hay N valores consecutivos en cualquier dirección


JavaScript

Publicado el 18 de Febrero del 2020 por Katas (200 códigos)
589 visualizaciones desde el 18 de Febrero del 2020
Crear una función que reciba un array bidimensional y el numero de valores consecutivos a buscar. El programa tiene que devolver si hay el numero de valores consecutivos (unos) en cualquier dirección, ya sea horizontal, vertical o transversal.

Este algoritmo puede ser utilizado para juegos como el tres en ralla o cuatro en ralla.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
values=[
    [0, 0, 0],
    [0, 0, 0],
    [1, 1, 1],
];
consecutiveValues(values, 3); // true
 
values=[
    [1, 0, 0],
    [0, 1, 0],
    [0, 0, 1],
];
consecutiveValues(values, 3); // true
 
values=[
    [0, 1, 0],
    [0, 1, 0],
    [0, 1, 0],
];
consecutiveValues(values, 3); // true
 
values=[
    [0, 1, 0],
    [0, 0, 0],
    [0, 1, 0],
];
consecutiveValues(values, 3); // false
 
values=[
    [0, 0, 1],
    [0, 1, 0],
    [1, 0, 0],
];
consecutiveValues(values, 3); // true
 
values=[
    [0, 0, 0, 0, 0, 0, 0],
    [0, 0, 0, 0, 0, 1, 0],
    [0, 1, 0, 0, 1, 0, 0],
    [0, 0, 1, 1, 0, 0, 0],
    [0, 0, 1, 1, 0, 0, 0],
    [0, 1, 0, 0, 0, 0, 0],
    [0, 0, 0, 0, 0, 0, 0],
];
consecutiveValues(values, 4); // true
consecutiveValues(values, 5); // true
consecutiveValues(values, 6); // false
 
values=[
    [1, 0, 0, 0, 0, 0, 0, 0, 0, 0],
    [1, 0, 0, 0, 0, 0, 0, 0, 0, 0],
    [1, 0, 0, 0, 0, 0, 0, 1, 0, 0],
    [1, 0, 0, 1, 0, 0, 1, 0, 0, 0],
    [1, 0, 0, 0, 1, 0, 0, 0, 0, 0],
    [0, 0, 0, 0, 1, 1, 0, 0, 0, 0],
    [0, 0, 0, 1, 0, 0, 0, 0, 0, 0],
    [0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
];
consecutiveValues(values, 5); // true
consecutiveValues(values, 6); // false

15 visualizaciones durante los últimos 90 días


1
0