1 //第一题函数 2 function testSymbols(str) { 3 var arr = str.split(""); 4 var reg = /^[A-Za-z]*$/gi; 5 var len = arr.length; 6 7 if (reg.test(arr[0]) || reg.test(arr[len - 1])) { 8 return false; 9 } 10 11 for (var i = 1; i < len - 1; i++) { 12 if (reg.test(arr[i])) { 13 if (arr[i - 1] != "+" || arr[i + 1] != "+") { 14 return false; 15 } 16 } 17 } 18 return true; 19 } 20 21 // 测试数据 22 var str = "++d+-o+u+b--a++-"; 23 console.log(testSymbols(str)); 24 25 function isMagicSum(arr) { 26 var arr = arr.sort(function (a, b) { 27 return a - b; 28 }); 29 var max = arr[arr.length - 1]; 30 arr.pop(); 31 for (var i = 1; i < 1 << arr.length; i++) { 32 var sum = 0; 33 for (var j = 0; j < arr.length; j++) { 34 if ((i & 1 << j) != 0) { 35 sum += arr[j]; 36 } 37 } 38 if (sum == max) { 39 return true; 40 } 41 } 42 return false; 43 }