猿问

输入一个数组和一个数,判断数组中是否存在三个数的和等于这个数

题目描述

输入一个数组和一个数,判断数组中是否存在三个数的和等于这个数


幕布斯7119047
浏览 1042回答 1
1回答

明月笑刀无情

var&nbsp;target=27; var&nbsp;arr=[2,4,6,3,7,23,6,25,34,43,1,15,12,32,26,18,16]; for(var&nbsp;i=0;i<arr.length-3;i++){ &nbsp;&nbsp;&nbsp;&nbsp;for(var&nbsp;j=i+1;j<arr.length-2;j++){ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for(var&nbsp;k=j+1;k<arr.length-1;k++){ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(arr[i]+arr[j]+arr[k]==target){ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;true; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;} }重新写了个算法:var&nbsp;target=17;var&nbsp;arr=[1,21,1,3,2,9,10,11,19,17,6,7,12,16,16,1]; arr=arr.sort();//[1,1,1,2,3,6,7,9,10,11,12,16,16,17,19,21]for(var&nbsp;i=arr.length-1;i>1;i--){&nbsp;&nbsp;&nbsp;&nbsp;if(arr[i]>=target)&nbsp;continue;&nbsp;&nbsp;&nbsp;&nbsp;for(var&nbsp;j=0;j<i-1;j++){&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(arr[i]+arr[j]>=target)&nbsp;break;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for(var&nbsp;k=j+1;k<i;k++){&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;sum=arr[i]+arr[j]+arr[k];&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(sum==target)&nbsp;return&nbsp;true;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(sum>target)&nbsp;break; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;} }
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答