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 }