- 博客(8)
- 资源 (23)
- 问答 (1)
- 收藏
- 关注
原创 只出现一次的数算法题汇总
这篇文章用来总结一个系列的算法题,也就是找到元素数组中重复出现的元素或者只出现一次的元素。其实在讲解之前,如果之前有接触过这类的类的同学,应该知道解决这类题的方式不外乎用位运算来搞定。使用位运算来解决这一系列问题很有趣,这也是为什么我想着专门写一篇博文来记录的原因,废话不多说,咱们进入正文。
2020-05-20 14:11:18
175
原创 一些通过数学分析解决的算法题汇总
写在前面如果觉得写得好,或者有所帮助,记得点个关注和点个赞,不胜感激!我发现最近经常会遇到一些需要通过数学分析去解决的问题,做的时候想着各种方法,然后看到题解,发现可以用数学分析的方式,找到非常快的解决办法,整个人就emmmmm了,所以这里开这篇博文,用来记录自己碰到的可以用数学分析的方式解决的算法问题,不断更新。“树根”相关问题“树根”在维基百科的定义如下:在数学中,数根(又称位数根或数字根Digital root)是自然数的一种性质,换句话说,每个自然数都有一个数根。数根是将一正整数的各个位数
2020-05-19 17:20:45
222
原创 搜索二维矩阵(左右上下升序,寻找目标值)
数组从左到右和从上到下都是升序的,如果从右上角出发开始遍历呢?会发现每次都是向左数字会变小,向下数字会变大,有点和二分查找树相似。二分查找树的话,是向左数字变小,向右数字变大。所以我们可以把 target 和当前值比较。
2020-05-10 18:47:28
165
原创 滑动窗口最大值问题
其实这里的话,我们需要先理解双向队列,这个是一个很有用的数据结构,他可以让我们在 $O(1)$ 的时间复杂度内,访问头部和尾部的节点。所以,我们可以使用双向队列来帮助我们,实现 $O(N)$ 时间复杂度内,得到结果。处理前 k 个元素,初始化双向队列。
2020-05-09 19:37:17
205
原创 二叉树的公共最近祖先问题
我们上面的第一直觉就是我们通过记录两个节点的路径,再来找公共祖先,但是其实我们在遍历的过程中,就可以通过记录当前祖先的方式,找到公共祖先。不过和上面的思路的遍历方式区别的地方在于,上面的思路是通过层次遍历,而这种方式是通过深度遍历。
2020-05-08 11:32:34
1525
原创 计算阶乘之后的零个数
我觉得吧,以后像这种纯粹就是进行数学分析的问题,我就要把它记录下来,这种问题给你时间让你去分析,可能就能分析出来,但是限定你时间让你解决,很容易卡住,所以遇到了就学习思路,然后以后如果碰到类似的问题,那么解决起来就非常迅速利落了。
2020-05-04 19:04:44
164
原创 计算数字 1 的个数(小于等于 n 的非负整数中数字 1 出现的个数)
这个问题乍一看,我最开始以为是计算二进制位的1的个数(最近对二进制比较敏感,想啥问题都是先想着能不能二进制解决)。然后仔细看了问题之后才发现,其实就是计算十进制中1的个数。其实理解问题之后,感觉也不是很难,一个暴力计算就搞定,不过,光用暴力解决问题并不是我的风格,所以还要想着其他更有效的方式。这里记录这个问题,不是因为他有多难,而是这个问题其实是一个纯粹的数学问题,我们需要进行数学分析就可以很简单的实现出来并解决,而不是使用语言上的奇淫巧技。
2020-05-04 18:36:56
436
原创 摩尔投票算法(Boyer-Moore Voting Algorithm)
给定一个数组A,其中含有 n 个元素,在数组A中出现超过 n/2 次的元素,也就是出现次数超过 n/2 的众数。现在的问题要求找到数组中是否存在这样的元素,其出现次数超过 n/2。现在本文就来讨论在线性复杂度下,计算成本最优的算法。
2020-05-03 18:45:49
244
1000道 互联网大厂Java工程师面试题(1)(1)(1).pdf
2020-04-03
Eclipse的Properties插件
2018-01-29
JSTL包和standrad包
2018-01-29
java API 1.8
2017-09-19
空空如也
关于vs2010的使用问题,求助
2017-01-21
TA创建的收藏夹 TA关注的收藏夹
TA关注的人 TA的粉丝