我正在从Codewars做kata,我无法通过2次测试。它几乎在那里,但仍然缺少一些东西。此函数必须返回断开序列中缺少的内容。这些是说明:
“找出缺失的数字;如果序列未被破坏,则应返回0.每个序列总是递增1。 简而言之:无效序列(具有非数字字符的字符串)必须返回1,已完成(或空)的序列必须返回0;如果缺少多个数字的断开序列应返回最低缺失数字;否则返回丢失的号码。“
这是链接:http://www.codewars.com/kata/broken-sequence/java
function findMissingNumber(sequence) {
var max = sequence.slice(-1);
var min = sequence[0];
var RegExp = /[abcdefghijklmopqrstuvwxyz]/i;
for (var j = 0; j < sequence.length; j++) {
if (sequence.charAt(j).match(RegExp)) {
return 1;
}
} //loop
if (sequence === " " || sequence.length == 0) {
return 0;
}
//
else {
sequence = sequence.split(" ").sort().map(function number(value) {
return parseInt(value);
});
var numbers = [];
for (var i = 1; i <= max; i++) {
numbers.push(i);
} //loop
if (sequence[0] != numbers[0]) {
return numbers[0];
} else if (sequence[1] != numbers[1]) {
return numbers[1];
} else {
var totala = sequence.reduce(function(a, b) {
return a + b
});
var totalb = numbers.reduce(function(a, b) {
return a + b
});
return Math.abs(totala - totalb);
}
} //main else
} //end
console.log(findMissingNumber(""));