JS数组去重算法完结,JS基于递归算法完结1

作者: 韦德国际1946国际网址  发布:2019-06-24

本文实例讲述了JS基于递归算法达成1,2,3,4,5,6,7,8,9倒序放入数组中的方法。分享给大家供我们参谋,具体如下:

在各大商铺面试中,平时会境遇的最基本的算法题之一是单链表的倒序难题。在此仅介绍最常用的且复杂度相对异常的低的主意。

递归

图片 1

var array = [1, 2, 3, 4, 5, 6, 7, 8, 9];
function reverseDump(start) {
  start  ;
  if (start > array.length / 2) {
    return;
  }
  var temp = array[start];
  array[start] = array[array.length - start - 1];
  array[array.length - start - 1] = temp;
  reverseDump(start);
}
reverseDump(-1);
console.info(array);

leetcodeJS数组去重算法完结,JS基于递归算法完结1。中一模二样也会有那道题:Reverse a singly linked list

1.如何叫做递归

答:当前函数自个儿调用本人,要领悟递归,废话不多说,间接看一道面课题

需求:求1~100里边,无法被3整除的整数的和

function sum(n) {
        if(n==0){ //如果传进来的值是0,说明累加到头了。无需继续累加,返回为0即可。没有再次执行条件,停止执行了。
            return 0;
        }
        if(n%3==0){ //如果传进来的值能被3整除,我们不需要累加,直接让值减一,即sum(n-1),因为有sum(n-1)这个条件继续传入到sum函数,继续执行
            return sum(n-1);
        }
        return n sum(n-1); //用当前值n和下一个值sum(n-1)进行累加,有再次执行的条件,再次传入sum函数,继续执行
    }
    var total = sum(100); //执行函数,传入实参,把值赋值给total;
    console.log(total);

结果为 3367;此结果正确

  • 证实:此面试题作者是用递归做的,一个函数自身调用自个儿。其实面试官也是想要这种艺术(用if可能while等推断也可),相信大家看这么些实例,应该对递归有了差不多通晓吗。

Paste_Image.png

运维效果图如下:

答案:

2.电火花计时器和递归

大家先用setInerval写一个巡回输出的事例

var count = 0;
    var timer = null;
    clearInterval(timer);
    timer = setInterval(function () {
        count  ;
        console.log(count);
        if(count==10){
            clearInterval(timer);
        }
    },1000);

结果为 1,2,3,4,5,6,7,8,9,10

用setTimeout达成轮询成效(仿setInterval)

var count = 0;
    var timer = null;
    function move() {
        count  ;
        console.log(count);
        if(count==10){return;} //每一次执行move方法,都会创建一个新的定时器,导致很多定时器累积,占内存,所以在新创建定时器之前,我们应该清楚定时器;
        clearTimeout(timer);
        timer = setTimeout(move,1000);
    }
    move();

结果为 1,2,3,4,5,6,7,8,9,10

对于前端来讲,大家相对于后台使用递归并未那么soEasy,但是这种重大的沉思,大家依然要去品尝的。

事先一段时间一贯在筹划面试, 因此博客太久没更新; 今后中央知识点都复习完成, 接下来就享受下边试的局地广阔难点。去职业的互连网公司笔试、面试有十分大的概率会遇上 使用javascript达成数组去重 的编码难题:

本文由韦德国际1946发布于韦德国际1946国际网址,转载请注明出处:JS数组去重算法完结,JS基于递归算法完结1

关键词: 日记本 伟德国际1946111 [5]算法 文章