百词斩笔试题解
//js实现原理
// 1.最大数字
var strArr = 'helloworld520iss1314'.split('');var len = strArr.length,numArr=[];
var str;
for(var i=0; i<len; i++){
if(!isNaN(Number(strArr[i]))){
str += strArr[i];
numArr.push(str);
}else{
str = '';
}
}
numArr.sort((a,b) => {
return a-b;
});
console.log(Number(numArr[numArr.length-1]));
//
// 2.大于等于3连续表示为3-5(3,4,5)
var arr=[1,2],newArr=[],boss=[];
for(var i=0; i<arr.length; i++){
if(arr[i] + 1 ===arr[i+1]){
newArr.push(arr[i]);
newArr.push(arr[i+1]);
}
}
var x = [...new Set(newArr)];
if(newArr[0] >=3){
for(var i=0; i<arr.length; i++){
if(i<arr.indexOf(newArr[0])){
boss.push(arr[i])
}else if(i === arr.indexOf(newArr[0])){
boss.push(arr[i] + '-' + arr[arr.indexOf(newArr[newArr.length - 1])])
}else if(i > arr.indexOf(newArr[newArr.length - 1])){
boss.push(arr[i])
}
}
}else{
for(var i=0; i<arr.length; i++){
boss.push(arr[i])
}
}
console.log(boss.join(','));
//
// 3.排列组合
var arr = [1,5,9];
var newArr = [],boss=[];
var n =arr.length;
for(var i=0; i<n; i++){
for(var j=0; j<n; j++){
for(var k=0; k<n; k++){
newArr.push(arr[i].toString()+arr[j].toString()+arr[k].toString())
}
}
}
for(var i=0; i<newArr.length; i++){
if([... new Set(newArr[i])].length === newArr[i].length){
boss.push(newArr[i])
}
}
console.log(boss.sort((a,b) => a-b));