
算法
文章平均质量分 91
MervynLammm
这个作者很懒,什么都没留下…
展开
-
位运算 n & (n-1)、Leetcode231、面试题 05.06
位运算 n & (n-1)作用n & (n-1)作用:将最低为的1改为0。举例 6 110 //原始数& 5 101-------- 4 100 //6 最低位 1 改为 0& 3 011-------- 0 000 //4 最低位 1 改为 0应用判断一个正整数是否为2的幂如果(n & (n-1)) == 0则这个正整数为2的幂。解释2的幂的二进制特点:有且只有一个1。如果一个正整数二进制最低位1改为0后,没有其他的原创 2020-10-29 22:04:19 · 404 阅读 · 0 评论 -
摩尔投票,leetcode169,leetcode229
摩尔投票初步认识涉及题目LeetCode 169 - Majority Element算法概述在给定的数组中,找出其中出现次数超过n/2的元素。题目假定一定存在一个元素出现超过n/2次。思路每次删除数组中两个不相同的元素,遍历完数组后,剩下的元素一定是出现超过n/2次的元素。定义候选者cand赋任意值、计数器count初始化为0遍历数组如果count值为0,将cand赋值为当前值nums[i],count赋值为1如果count值不为0,且当前值nums[i]等于cand的值,则co原创 2020-10-10 16:44:17 · 173 阅读 · 0 评论 -
Floyd判圈算法
Floyd判圈算法算法概述Floyd 判圈算法(Floyd Cycle Detection Algorithm),又称龟兔赛跑算法(Tortoise and Hare Algorithm)。是一个可以在有限状态机、迭代函数或者链表上判断是否存在环,求出该环的起点与长度的算法。思路设两个指针t和h已不同步伐(t一步h两步)从起点出发,如果存在环,两个指针必有某时刻相遇。解决问题是否存在环设两个指针t和h已不同步伐(t一步h两步)从起点出发:如果快指针到达了链表尾部,两者都没相遇,则没有环。原创 2020-10-10 11:10:44 · 838 阅读 · 0 评论 -
矩阵快速幂笔记
这里写自定义目录标题矩阵快速幂常规求幂递归快速幂矩阵快速幂矩阵乘法求解递归状态转移确定矩阵Ajava 代码实现参考资料矩阵快速幂常规求幂求ana^nan的值,如果用纯for循环,要循环n次乘a。时间复杂度:O(n)空间复杂度:S(1)递归与二分法异曲同工。例:a57={a28{a14{a7{a3{aaaa3aa7a14a28aa^{57} =\left \{\begin{matrix} a^{28} & \left \{\begin原创 2020-07-24 15:33:51 · 198 阅读 · 0 评论