笔试1

 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 }
原文地址:https://www.cnblogs.com/gemicat/p/4850909.html