erbing / logic-training

logic-training and code-everyday
5 stars 0 forks source link

根据传入的数字,返回其中包含的最大的连续五位数 #3

Open erbing opened 5 years ago

erbing commented 5 years ago
/* 
 * 根据传入的数字,返回其中包含的最大的连续五位数
 * e.g.
 * maxFiveDigits(283910356876)   // =>91035
 * maxFiveDigits(123456) //  => 23456
 */
function maxFiveDigits(num) {
  //TODO:完成该函数
}
boybird commented 5 years ago
function maxFiveDigits(num) {
    if (typeof num === 'number') {
        if(num<100000){
            return 0;
        }
        num = String(num);
    } else if (typeof num !== 'string' || num.length < 5 || num.match(/^\d+$/) === null) {
        return 0;
    }
    let max = parseInt( num.substr(0,5));
    for(var i=1;i<=num.length-5;i++){
        let it = parseInt(num.substr(i,5));
        if( it>max ){
            max = it;
        }
    }
    return max;
}
gbldsz commented 5 years ago
function maxNum(num) {
  let str = '';
  if (typeof num === 'number') {
    str = num.toString();
  } else {
    return 'please input Number';
  }
  if (str.length <= 5) {
    return parseInt(str);
  }
  let maxNum = 0;
  for (let i = 0; i <= str.length - 5; i++) {
    let num = parseInt(str.slice(i, i + 5));
    maxNum = num > maxNum ? num : maxNum;
  }
  return maxNum;
}
maxNum(283910);
erbing commented 5 years ago
const maxFiveDigits = (nums) => {
    //TODO:完成该函数
    let num = nums + ''
    if (num.length <= 5) return num
    let temp = 0
    for (let i = 0; i < num.length - 4; i++) {
        const e = num.substr(i , 5);   // substring[start, end)? slice[start, end)? substr(start, length)
        temp = e >= temp ? e : temp
    }
    return Number(temp)
}

export default maxFiveDigits