理解:字符串中不包含 'ba'
var checkString = function(s) {
return s.search('ba') == -1;
};
理解:统计每行设备数量,然后返回乘积,还可以优化,比如0不计入arr中,在for循环中做乘积运算。
var numberOfBeams = function(bank) {
let arr = [], res = 0;
bank.forEach(i => {
let sum = 0;
for (let j = 0; j < i.length; j++) {
i[j] == 1 ? sum++ : sum;
}
arr.push(sum)
})
let left = 0, right = 1, len = arr.length;
while (right < len) {
if (arr[left] != 0 && arr[right] != 0) {
res += arr[left] * arr[right];
left++;
right++; }
else {
left = arr[left] == 0 ? left + 1 : left;
right = arr[right] == 0 ? right + 1 : right; left == right ? right++ : '';
}
}
return res;
};
理解:先从小到大排序,然后比较大小,注意累加。
var asteroidsDestroyed = function(mass, asteroids) {
asteroids.sort((a, b) => a - b);
let len = asteroids.length;
for (let i = 0; i < len; i++){
if (h >= asteroids[i]) {
h += asteroids[i];
} else {
return false;
}
}
return true;
};