xindoo is
always here

算法

生日悖论是啥?我用它省了上百G的内存-XINDOO

生日悖论是啥?我用它省了上百G的内存

xindoo阅读(407)评论(0)赞(1)

@ 生日悖论: 是指在不少于 23 个人中至少有两人生日相同的概率大于 50%。例如在一个 30 人的小学班级中,存在两人生日相同的概率为 70%。对于 60 人的大班,这种概率要大于 99%。从引起逻辑矛盾的角度来说,生日悖论并不是一种 ...

从0到1打造正则表达式执行引擎(二)-XINDOO

从0到1打造正则表达式执行引擎(二)

xindoo阅读(557)评论(0)赞(1)

在上篇博客从0到1打造正则表达式执行引擎(一)中我们已经构建了一个可用的正则表达式引擎,相关源码见https://github.com/xindoo/regex,但上文中只是用到了NFA,NFA的引擎建图时间复杂度是O(n),但匹配一个长度...

面试题精选:循环队列-XINDOO

面试题精选:循环队列

xindoo阅读(701)评论(0)赞(1)

近期在面试找工作的小伙伴们很多啊,我周围就有好几个认识的朋友在找工作,于是我突发奇想在CSDN开了一个面试题精选的专栏,主要会关注一些算法题、设计题,次要会补充一些java面试相关的题(比较本博主是java出身)。其实在此之前已经写过一些相...

从0到1打造正则表达式执行引擎-XINDOO

从0到1打造正则表达式执行引擎

xindoo阅读(632)评论(0)赞(1)

今天是五一假期第一天,这里先给大家拜个晚 咳咳!!祝大家五一快乐,我这里给大家奉上一篇硬核教程。首先声明,这篇文章不是教你如何写正则表达式,而是教你写一个能执行正则表达式的执行引擎。 网上教你写正则表达式的文章、教程很多,但教你写引擎的并不...

大厂面试题:求根号2简单?高级算法你肯定不会-XINDOO

大厂面试题:求根号2简单?高级算法你肯定不会

xindoo阅读(742)评论(0)赞(3)

前两天逛github看到一道很简单的面试题——如何不用库函数快速求出$\sqrt2$的值,精确到小数点后10位! 第一反应这不很简单嘛,大学数据结构课讲二分查找的时候老师还用这个做过示例。但转念一想,能作为大厂的面试题,背后绝对没有那么简单...

布隆过滤器(BloomFilter)原理 实现和性能测试-XINDOO

布隆过滤器(BloomFilter)原理 实现和性能测试

xindoo阅读(1452)评论(0)赞(0)

布隆过滤器(BloomFilter)是一种大家在学校没怎么学过,但在计算机很多领域非常常用的数据结构,它可以用来高效判断某个key是否属于一个集合,有极高的插入和查询效率(O(1)),也非常省存储空间。当然它也不是完美无缺,它也有自己的缺点...

用正则表达式匹配3的任意倍数-XINDOO

用正则表达式匹配3的任意倍数

xindoo阅读(1200)评论(0)赞(0)

正则表达式能匹配3的任意倍数?(注意是任意倍数) ,我曾经也很震惊,但确实可以。我5年多前练习正则表达式,在Regex Golf这个正则表达式测试网站上发现了这个题,当时完全没有任何头绪,于是我在知乎提问正则表达式如何匹配 3 的倍数 ,但...

Leetcode 295. Find Median from Data Stream

xindoo阅读(1551)评论(0)赞(0)

题目链接295. Find Median from Data Stream   在一个有序数组中找中位数,但需要支持再数组中添加新的元素。本来是有序里的,可以很轻易就查到中位数,但如果添加新数字后,不一定有序。如果先对数组排序,那代价就比较...

最小二乘法的极大似然解释-XINDOO

最小二乘法的极大似然解释

xindoo阅读(1860)评论(0)赞(0)

  最开始学习机器学习的时候,首先遇到的就是回归算法,回归算法里最最重要的就是最小二乘法,为什么损失函数要用平方和,而且还得是最小?仔细想想最小二乘法视乎很合理,但是合理在哪,怎么用数学方法来证明它合理。

Leetcode 19.Remove Nth Node From End of List

xindoo阅读(1482)评论(0)赞(0)

题目链接:19. Remove Nth Node From End of List   删除单链表中的倒数第n个节点,链表中删除节点很简单,但这道题你得先知道要删除哪个节点。在我的解法中,我先采用计数的方式来确定删除第几个节点。另外我在头节...

Leetcode 6. ZigZag Conversion

xindoo阅读(1579)评论(0)赞(0)

原题链接:6.ZigZag Conversion   题目名称『曲折变换』,但给的样例只有三行,看不出到底怎么样曲折变化,所以这里我再补充一个样例,大家肯定一下就懂了。

Leetcode 114. Flatten Binary Tree to Linked List

xindoo阅读(1500)评论(0)赞(0)

Leetcode 114. Flatten Binary Tree to Linked List   题目意思很简单,就是把一棵二叉数转换为链表,虽然题目中没说以什么样的形式转换,但看下样例就很容易看出来,是以先序遍历的次序转换成链表。这里...

Leetcode 198. House Robber

xindoo阅读(1484)评论(0)赞(0)

原题链接:198. House Robber   一句话理解题意,有个偷马贼晚上要偷尽可能值钱的马,但连续两头马被偷会触发报警,问他如何在不触发报警(不偷连续的两匹马)的情况下偷到总价值最高马,返回最高总价值。   看到maximu...

Leetcode 347.Top K Frequent Elements

xindoo阅读(1739)评论(1)赞(0)

Top K Frequent Elements   一句话理解题意:输出数组中出现次数对多的k个数。   在如果用C语言来写这个题目,思路就是先按数的大小排序,然后再用一个结构体数组保存每个数的出现次次数。 因为数组已经有序了,所以只需要遍...

Leetcode Find Minimum in Rotated Sorted Array 题解

xindoo阅读(1517)评论(0)赞(0)

Leetcode Find Minimum in Rotated Sorted Array 题目大意:      对一个有序数组翻转, 就是随机取前K个数,移动到数组的后面,然后让你找出最小的那个数,注意,K有可能是0,也就是没有翻转。  ...

Leetcode Single Number II (面试题推荐)

xindoo阅读(1391)评论(0)赞(0)

    还记得《剑指offer》和《编程之美》等书上多次出现的找一个数组中只出现一次的数那个题吗?     leetcode也有这道题 链接here  相信大家都知道用异或在O(n)的时间复杂度内求出的方...

codeforces 347A – Difference Row

xindoo阅读(1468)评论(0)赞(0)

给你一个序列,让你求(x1 - x2) + (x2 - x3) + ... + (xn - 1 - xn).值最大的一个序列,我们化简一下公式就会发现(x1 - x2) + (x2 - x3) + ... + (xn...

codeforces 344B – Simple Molecules

xindoo阅读(1447)评论(0)赞(0)

       题意就是给出3个原子的化学价,然后组成一个分子,要保证这个分子是稳定的,如果你还记得高中化学知识的话这个很容易理解,然后让你求出1-2  2-3 1-3 号原子之间有几条键, 这里我分别用ta tb t...

xindoo

联系我联系我们