摘要: 题目描述 题目地址:https://leetcode.cn/problems/number-of-islands/ 题目要求 给你一个由 '1'(陆地)和 '0'(水)组成的的二维网格,请你计算网格中岛屿的数量。 岛屿总是被水包围,并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。 此外 阅读全文
posted @ 2022-10-03 14:48 fionna 阅读(23) 评论(0) 推荐(0) 编辑
摘要: 题目描述 题目地址:https://leetcode.cn/problems/max-area-of-island/ 题目要求 给你一个大小为 m x n 的二进制矩阵 grid 。 岛屿 是由一些相邻的 1 (代表土地) 构成的组合,这里的「相邻」要求两个 1 必须在 水平或者竖直的四个方向上 相 阅读全文
posted @ 2022-10-02 22:10 fionna 阅读(37) 评论(0) 推荐(0) 编辑
摘要: 地址:https://time.geekbang.org/column/article/70891 什么是“搜索”算法? 算法是作用于具体数据结构之上的,深度优先搜索算法和广度优先搜索算法都是基于“图”这种数据结构的, 深度优先搜索(DFS) 深度优先搜索(Depth-First-Search),简 阅读全文
posted @ 2022-10-02 16:21 fionna 阅读(118) 评论(0) 推荐(0) 编辑
摘要: 链接:https://time.geekbang.org/column/article/71187 字符串匹配算法 BF 算法、 RK 算法、BM 算法、KMP 算法 BF 算法和 RK 算法:单模式串匹配的算法:也就是一个串跟一个串进行匹配。 BF 算法 中文叫作暴力匹配算法 在开始讲解这个算法之 阅读全文
posted @ 2022-10-02 13:18 fionna 阅读(331) 评论(0) 推荐(0) 编辑
摘要: 地址:https://time.geekbang.org/column/article/70537 图。实际上,涉及图的算法有很多,也非常复杂,比如图的搜索、最短路径、最小生成树、二分图等等。 如何理解“图”? 图(Graph):一种更加复杂的非线性表结构。 图的种类 我们知道,树中的元素我们称为节 阅读全文
posted @ 2022-09-27 22:16 fionna 阅读(123) 评论(0) 推荐(0) 编辑
摘要: 题目描述 题目地址:https://leetcode.cn/problems/roman-to-integer/ 题目要求 罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。 例如, 罗马数字 2 写做 II ,即为两个并列的 1 。12 写做 XII ,即为 X + II 。 27 阅读全文
posted @ 2022-09-26 22:10 fionna 阅读(46) 评论(0) 推荐(0) 编辑
摘要: 题目描述 题目地址:https://leetcode.cn/problems/integer-to-roman/ 题目要求 罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。 例如, 罗马数字 2 写做 II ,即为两个并列的 1。12 写做 XII ,即为 X + II 。 27 阅读全文
posted @ 2022-09-26 17:55 fionna 阅读(69) 评论(0) 推荐(0) 编辑
摘要: 什么是哈希算法? 不管是“散列”还是“哈希”,这都是中文翻译的差别,英文其实就是“Hash”。所以,我们常听到有人把“散列表”叫作“哈希表”“Hash 表”,把“哈希算法”叫作“Hash 算法”或者“散列算法”。 将任意长度的二进制值串映射为固定长度的二进制值串,这个映射的规则就是哈希算法,而通过原 阅读全文
posted @ 2022-09-26 17:12 fionna 阅读(89) 评论(0) 推荐(0) 编辑
摘要: 散列表的查询效率并不能笼统地说成是 O(1)。它跟散列函数、装载因子、散列冲突等都有关系。 如何设计散列函数? 首先,散列函数的设计不能太复杂。 其次,散列函数生成的值要尽可能随机并且均匀分布,这样会尽可能地减少散列冲突,即便冲突之后,分配到每个槽内的数据也比较均匀。 如何根据装载因子动态扩容 针对 阅读全文
posted @ 2022-09-26 10:54 fionna 阅读(29) 评论(0) 推荐(0) 编辑
摘要: 题目描述 题目地址:https://leetcode.cn/problems/longest-substring-without-repeating-characters/ 题目要求 给定一个字符串 s ,请你找出其中不含有重复字符的最长子串的长度。 解题思路 初始化为一个空数组,并定义一个变量记录 阅读全文
posted @ 2022-09-25 21:18 fionna 阅读(11) 评论(0) 推荐(0) 编辑