给定一个整数数组 nums 和一个目标值 k,请实现一个方法判断 nums 中是否存在某个片段(即若干个相连元素)之和等于 k。要求时间复杂度为 O(n)

实现方式1:

使用for循环+ array.reduce()函数,方式可以时间复杂度达到0(n),通过累加值 是否==k,来判断是否存在,如果 for循环+for循环,时间复杂度为0(n^2)了。

         //使用array.reduce函数,累加,判断是否==k
        function continueSum(arr,k){
            for(var i=0;i

实现方式2:

使用for循环+递归,来完成累加,但是时间复杂度可能不太满足o(n)。

     //循环数组,然后使用递归,进行值的累加。如果和K相同,则返回TRUE;
      function sumValue(arr,k){
            for(var i=0;i

你可能感兴趣的:(leetcode,排序算法,算法)