【发布时间】:2018-09-03 14:08:58
【问题描述】:
例子:
- 11ADD = 2 个相等,2 个序列
- 115222 3个等于,1个序列
- ABCDEF10 = 1 个相等,8 个序列
结果应该包含
- 按顺序重复的最大字符数的长度。
- 与最大长度计数匹配的重复字符序列数
这是我正在尝试的,将 dec 转换为 Hex,然后找到相等的 seq。他们有多少个
let n = [1, 26, 221];
let arr = [];
let hex = '';
let maxSequence = 0;
let currentCounter = 0;
let sequences = 0;
arr.forEach(element => {
hex += element.toString(16).toLocaleUpperCase();
});
let newarr = [];
const hexSplit = [...hex];
hexSplit.forEach((element, x) => {
if (hexSplit[x + 1] === hexSplit[x]) {
currentCounter++;
newarr.push(hexSplit[x])
}
if (currentCounter > maxSequence) {
maxSequence = currentCounter;
sequences += 1;
} else if (maxSequence === 0) {
maxSequence = 1;
sequences = hexSplit.length;
}
});
console.log(maxSequence, sequences)
【问题讨论】:
-
序列将由单个
char组成,或者它们可以是string?ABCABC1在此字符串中,序列ABC重复两次 -
@liam 我不认为这是重复的,因为这里需要两个值(有多少,以及最大长度序列的计数),它不是“发生”,而是顺序发生在这里需要。
-
ABCDEA的预期结果是什么?
标签: javascript arrays sequence equals