![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
力扣刷题
Lionel_SSL
这个作者很懒,什么都没留下…
展开
-
用位运算实现add(a,b)
int add(int a, int b){return a + b;}位运算的实现:首先加法要关注各个位的情况:观察到,无进位的运算与异或相同(n = a ^ b表示)进位的运算与 与运算 相同(c = a & b <<1表示)所以sum = n + c题目说明中:a,b可能是负数或者是0,那么如果是负数,就变成了减法,那么这个方法是否还适用呢答:适用!这里就来说说计算机组成原理的相关知识了数据的存储中的补码!!!在计算机系统中,数值一律用 补码 来表示原创 2021-03-06 10:05:13 · 1084 阅读 · 0 评论 -
剑指 Offer 26.数的子结构 - 解题思路
解题思路:若树 B 是树 A 的子结构,则子结构的根节点可能为树 AA 的任意一个节点。因此,判断树 B 是否是树 A 的子结构,需完成以下两步工作:1.先序遍历树 A 中的每个节点 n_A;(对应函数 isSubStructure(A, B))2.判断树 AA 中 以 n_A为根节点的子树 是否包含树 BB 。(对应函数 recur(A, B))时间复杂度 O(MN) : 其中 M,N 分别为树 A 和 树 B 的节点数量;先序遍历树 A 占用 O(M) ,每次调用 recur(A, B).原创 2021-03-03 11:51:08 · 94 阅读 · 0 评论 -
使用字典树进行拼写纠正
应用如何把单词存入一个字典来纠正拼写呢?对于某个给定的单词,我们希望很快在字典中找到一个最接近的词。如果把字典里的所有单词存在一个散列表里,单词之间的一切相近性信息都将丢失。所以,更好的方式是把这些单词存入字典树,字典树也叫前缀树或排序树(trie tree)。定义一棵保存了某个单词集合的树称为字典树。连接一个节点及其子节点的弧线用不同字母标注。因此,字典中的每个单词与树中从根节点到树节点的路径相关。每个节点都是标记,用于区分相关字母组合究竟是字典中的单词,还是字典中单词的前缀(图 2.2)。字典转载 2021-01-30 10:32:55 · 423 阅读 · 0 评论 -
并查集----保证图可完全遍历 力扣官方题解
class Solution { public int maxNumEdgesToRemove(int n, int[][] edges) { UnionFind ufa = new UnionFind(n); UnionFind ufb = new UnionFind(n); int ans = 0; // 节点编号改为从 0 开始 for (int[] edge : edges) { --e转载 2021-01-27 18:02:22 · 95 阅读 · 0 评论