5980. 将字符串拆分为若干长度为 k 的组
思路:先遍历字符串,分割长度为k的字符串,存入数组中,然后判断数组中的最后一个元素的长度是否符合要求,然后补齐字符串。
var divideString = function (s, k, fill) {
let res = [], str = s, j = Math.ceil(s.length / k);
for (let i = 0; i < j; i++) {
res.push(str.slice(i * k, (i + 1) * k));
}
while (res[res.length - 1].length != k) {
res[res.length - 1] = res[res.length - 1] + fill;
}
return res;
};
5194. 得到目标值的最少行动次数
思路:正推麻烦,就用target逆推,要判断target当前奇偶性,当是奇数时,target-1便偶数,当是偶数时就可除以二。
var minMoves = function (target, maxDoubles) {
let res = 0;
while (target > 1) {
if (maxDoubles == 0) {
res += target - 1
break
}
if (target % 2 == 1) {
res += 1
target -= 1
} else {
res += 1
target = target / 2
maxDoubles -= 1
}
}
return res;
};