美文网首页
百词斩笔试总结

百词斩笔试总结

作者: Gopal | 来源:发表于2018-07-23 22:28 被阅读495次

    第一题:输入一段只含有数字和字符串的字符串,则取出各个数字,获得最大值。

    function num (str) {
        var numArr = str.match(/\d+/g);
        var max = numArr[0];
        for (var i = 1; i < numArr.length; i++) {
            if (numArr[i] > max) {
                max = numArr[i]
            }
        }
    }
    num ('adsf102dsfa234dfas2345dfg234')
    

    第二题:
    输入n个数字,这n个数字不能重复,如果有连续的数字,则使用类似1-4的方法表示,没有,则直接表示。

    function line (arr) {
        var result = [];
        var tmp;
            // 将连续的归为一组,不连续的各归为一组,组别是一个数组表达
        while(tmp = arr.shift()){
            if(result.length == 0){
                result.push([tmp]);
                continue;
            }
        
            var e = result[result.length - 1];
                    // 若连续
            if(tmp == e[e.length - 1] + 1) {
                e.push(tmp);
            }else{
                result.push([tmp]);
            }
        }
        console.log(result);
        for(var i = 0; i < result.length;i++) {
            if (result[i].length>=3) {
                var len = result[i].length;
                result[i] = result[i][0] + '-' + result[i][len-1];
            }else {
                result[i] = result[i].join(',')
            }
        }
        console.log(result.join(','))
    }
    line([1,2,4,5,6,8,9,10,11])
    

    相关文章

      网友评论

          本文标题:百词斩笔试总结

          本文链接:https://www.haomeiwen.com/subject/efnhcftx.html