如果不小心网友来到了这里请网友自动飘走,浪费你们时间表示歉意。该系列博客的目的是:想作为自律工具和朋友一起每天刷几道题作为打卡督促的功能,没有什么可参考学习的东西,也不是刷博客量充大佬的目的
题号:73
//遍历暴力解法
var setZeroes = function (matrix) {
for (let i = 0; i < matrix.length; i++) {
for (let j = 0; j < matrix[0].length; j++) {
let ele = matrix[i][j]
if (ele === 0) {
for (let m = 0; m < matrix[0].length; m++) {
if (matrix[i][m] != 0) {
matrix[i][m] = "K"
}
}
for (let n = 0; n < matrix.length; n++) {
if (matrix[n][j] != 0) {
matrix[n][j] = "K"
}
}
}
}
}
for (let i = 0; i < matrix.length; i++) {
for (let j = 0; j < matrix[0].length; j++) {
if (matrix[i][j] === "K") {
matrix[i][j] = 0
}
}
}
console.log("88");
};
题号:279
//背包问题
var numSquares = function (n) {
let dptable = [0]//表示正整数i符合题意的最小数量
for (let i = 0; i <= n; i++) {//0到n的正整数
for (let j = 1; j * j <= i; j++) {//在正整数i的时候可以选择的平方数
if (dptable[i]) {
dptable[i] = Math.min(dptable[i - j * j] + 1, dptable[i])
} else {
dptable[i] = dptable[i - j * j] + 1
}
}
}
return dptable[n]
};
题号:125
//双指针
var isPalindrome = function (s) {
let left = 0, right = s.length - 1
while (left < right) {
while (left < s.length) {
if (isLetterOrNumber(s[left].toLowerCase())) {
break
}
left++
}
while (right >= 0) {
if (isLetterOrNumber(s[right].toLowerCase())) {
break
}
right--
}
if (left < right) {
if (s[left].toLowerCase() === s[right].toLowerCase()) {
left++
right--
}
else {
return false
}
}
}
return true
};
function isLetterOrNumber(char) {
if ((char >='a'&& char <= 'z') || (char >='A'&& char <= 'Z') || ['0','1','2','3','4','5','6','7','8','9'].includes(char)) {
return true
}
return false
}