关注前端 | 前端博客
当前位置: 算法 > 算法相关

算法相关

2019-06-18 分类:算法 作者:管理员 阅读(193)

根据自己面试和朋友面试的情况,我发现现在大多公司对大前端比较偏爱,纯粹的前端不一定找到好公司,现在稍微靠谱一点的,都要求至少了解一门后端语言,熟悉数据结构、算法之类。于是我就写了这篇关于算法的文章来使自己进步。在这里我向大家分享几个算法网站:Leetcodelintcodelingkou,我们再来解解其中的一些算法题。

题目描述:

数组[1,3,4,8,10,11]中找出来两个数相减的绝对值最小的组合

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
var arr = [1,3,4,8,10,11]
function getResult(arr){
    var res = []
    var combinationsNumArr = [];//两两组合 数组
    for(var i=0;i<arr.length;i++){
        for(var j=1;j<arr.length;j++){
            combinationsNumArr.push([arr[0],arr[j]])
       
        }
        arr.splice(0,1)
        i=0
    }
    //求的两两组合绝对值的数组
    var newArr = combinationsNumArr.map(item => {
        return Math.abs(item[0] - item[1])
    })
    //求得绝对值最小数
    var min = Math.min(...newArr)
    //求得绝对值最小数的索引 数组形式返回
    var minIndexArr = (function(str, substr){
        var position_arr = [];
        var index = str.indexOf(substr);
        while(index != -1) {
            position_arr.push(index);
            index = str.indexOf(substr, index+1);
        }
        return position_arr;
    })(newArr,min)
    //得到最终结果
    for(var i=0;i<minIndexArr.length;i++){
        res.push(combinationsNumArr[minIndexArr[i]])
    }
    return res
}

「两年博客,如果觉得我的文章对您有用,请帮助本站成长」

赞(2) 打赏

感谢您让我添加个鸡腿!

支付宝
微信
2

感谢您让我添加个鸡腿!

支付宝
微信
标签:

上一篇:

下一篇:

共有 1 条评论 - 算法相关

  1. 楚狂人博客 Windows NT Chrome 63.0.3239.132

    干洗博主分享了

博客简介

一位不知名的前端工程师,专注全栈技术,分享各种所遇问题与个人心得,梦想成为一位知名大神!

最近更新

精彩评论

服务热线:
 177****6038

 QQ在线交流

 旺旺在线