打字稿检查 M 大小数组中是否 "any n consecutive elements are same"
Typescript Check if "any n consecutive elements are same" in M size array
我有一个字符串数组或大小为 M(M>n) 的数字。我想检查是否有任何 n 个连续元素相同,其中 n 可以在 1-M 之间变化。
例如,假设我在数组下方,我想检查是否存在四个连续的“5”或两个连续的“3”:
{1,2,3,4,5,5,5,5,2,6,3,3,1}
我怎样才能做到这一点?
P.S。我还使用 Linq.JS 在数组上执行 linq 函数。
您可以按如下方式进行
var arr = [1,2,3,4,5,5,5,5,2,6,3,3,1],
result = arr.reduce((p,c,i,a) => c !== a[i+1] ? (p[p.length-1][0] = c, p.concat([[0,1]]))
: (p[p.length-1][0] = c, p[p.length-1][1]++, p),[[true,1]])
.slice(0,-1);
console.log(result);
我有一个字符串数组或大小为 M(M>n) 的数字。我想检查是否有任何 n 个连续元素相同,其中 n 可以在 1-M 之间变化。
例如,假设我在数组下方,我想检查是否存在四个连续的“5”或两个连续的“3”:
{1,2,3,4,5,5,5,5,2,6,3,3,1}
我怎样才能做到这一点?
P.S。我还使用 Linq.JS 在数组上执行 linq 函数。
您可以按如下方式进行
var arr = [1,2,3,4,5,5,5,5,2,6,3,3,1],
result = arr.reduce((p,c,i,a) => c !== a[i+1] ? (p[p.length-1][0] = c, p.concat([[0,1]]))
: (p[p.length-1][0] = c, p[p.length-1][1]++, p),[[true,1]])
.slice(0,-1);
console.log(result);