
算法
文章平均质量分 60
文大侠666
专注安全领域,擅长Go/C++,玩点大数据。
展开
-
字典树(Trie树)
字典树主要是为了解决前缀匹配问题,比如下图的搜索输入前缀后匹配 比如有6个字符串how,hi,her,hello,so,see,如果现在输入字符判断是否要前缀匹配指定字符串,必须一个字符串比较,如果有100万就要比对100万次,如何优化这个问题呢? 其实我们可以理解,每输入一个字符,应该整个搜索空间就会缩小,具体来说就是构造一颗如下的树,就是所谓的字典树(Trie树),一旦构建完成,搜索过程中,即可完成动态剪裁,最大搜索次数就是最长字符串长度。 具体实现来说就是一颗多叉树,可以使用hashmap或者数组原创 2021-09-14 08:57:56 · 257 阅读 · 0 评论 -
并查集(Union Find)
算法背景 Union Find算法,中文并查集。主要用来解决图论中的连通判断问题,简单抽象问题为: 平面上有n个点 给定他们之间两两连接关系 要求输入任意两个点,判断他们是否能够有一条路径联通 算法步骤 一旦有连接,就把一个节点设为另一个节点的父节点,最终连通的点会构成一颗树。通过判断两个节点的根节点是否相同,即可判断是否连通。具体如下 初始化时,每个节点指向自己,也就是根节点 遍历给定的两两连接关系,分别找各自的根节点,将两个根节点连接起来 判断是否联通很简单,找两个点的根结点是否相同 整个过程是原创 2021-08-23 12:51:11 · 221 阅读 · 0 评论 -
优快云英雄会-交替字符串
题目详情 如果字符串str3能够由str1和str2中的字符按顺序交替形成,那么称str3为str1和str2的交替字符串。例如str1="abc",str2="def",那么"adbecf", "abcdef", "abdecf", "abcdef", "adefbc"等等都为str1和str2的交替字符串。更形式化的,str3的生成算法如下: str3="" while原创 2014-04-12 11:09:10 · 1350 阅读 · 0 评论 -
英雄会第四届在线编程大赛·线上初赛:带通配符的数
给定一个带通配符问号的数W,问号可以代表任意一个一位数字。 再给定一个整数X,和W具有同样的长度。 问有多少个整数符合W的形式并且比X大? 输入格式 多组数据,每组数据两行,第一行是W,第二行是X,它们长度相同。在[1..10]之间. 输出格式 每行一个整数表示结果。原创 2014-04-10 20:33:47 · 1184 阅读 · 0 评论