零 题目:算法(leetode,附思维导图 + 全副解法)300 题之(2133)查看是否每一行每一列都蕴含全副整数
一 题目形容
二 解法总览(思维导图)
三 全副解法
1 计划 1
1)代码:
// 计划 1“哈希法(JS 里的 Map 数据结构)”// 技巧:“波及数量、唯一性的,优先思考 哈希(JS 里的 Map 数据结构)”。// 思路:// 1)状态初始化:map = new Map()。// 2)外围 1:遍历所有 行,看其是否“蕴含从 1 到 n 的全副整数”。// 2.1)每次遍历,均先 清空 map。// 2.2)遍历以后行的每一个元素。// 2.2.1)若 以后元素 已存在于 map,则 阐明存在反复了、间接返回 false。// 2.2.2)若 以后元素 不存在于 map,则 将该元素放入 map 中。// 3)外围 2:遍历所有 列,看其是否“蕴含从 1 到 n 的全副整数”。// 3.1)每次遍历,均先 清空 map。// 3.2)遍历当前列的每一个元素。// 3.2.1)若 以后元素 已存在于 map,则 阐明存在反复了、间接返回 false。// 3.2.2)若 以后元素 不存在于 map,则 将该元素放入 map 中。// 4)行、列均满足条件,返回 true。var checkValid = function(matrix) {// 1)状态初始化:map = new Map()。const l = matrix.length;
let map = new Map();
// 2)外围 1:遍历所有 行,看其是否“蕴含从 1 到 n 的全副整数”。for (let i = 0; i < l; i++) {
// 2.1)每次遍历,均先 清空 map。map.clear();
// 2.2)遍历以后行的每一个元素。for (let j = 0; j < l; j++) {const tempVal = matrix[i][j];
// 2.2.1)若 以后元素 已存在于 map,则 阐明存在反复了、间接返回 false。if (map.has(tempVal)) {return false;}
// 2.2.2)若 以后元素 不存在于 map,则 将该元素放入 map 中。else {map.set(tempVal, 1);
}
}
}
// 3)外围 2:遍历所有 列,看其是否“蕴含从 1 到 n 的全副整数”。for (let i = 0; i < l; i++) {
// 3.1)每次遍历,均先 清空 map。map.clear();
// 3.2)遍历当前列的每一个元素。for (let j = 0; j < l; j++) {const tempVal = matrix[j][i];
// 3.2.1)若 以后元素 已存在于 map,则 阐明存在反复了、间接返回 false。if (map.has(tempVal)) {return false;}
// 3.2.2)若 以后元素 不存在于 map,则 将该元素放入 map 中。else {map.set(tempVal, 1);
}
}
}
// 4)行、列均满足条件,返回 true。return true;
};
四 资源分享 & 更多
1 历史文章 – 总览
2【资源分享】算法通关 + 面试宝典算法通关 + 面试宝典
1)算法通关 40 讲(极客 - 外企大佬讲的):链接: https://pan.baidu.com/s/1C175QEmcAunjnCzYzoLBz 提取码: hjna
2)动静布局专题(价值几百美刀~):https://www.bilibili.com/video/BV1nt4y1Y7nz
3)前端面经:3.1)https://www.nowcoder.com/tutorial/96
3.2)https://muyiy.cn/question
3.3)https://hub.fastgit.org/haizlin/fe-interview/blob/master/category/history.md
注:若生效请返回 VX 公众号:码农三少,发送关键字:LeetCode 或 算法,即可获取最新的链接~
3 博主简介
码农三少,一个致力于编写 极简、但齐全题解(算法 )的博主。
专一于 一题多解、结构化思维,欢送一起刷穿 LeetCode ~