
LeetCode
Enoch Liu98
这个作者很懒,什么都没留下…
展开
-
回溯专题
回溯专题1.DFS 和回溯算法区别DFS 是一个劲的往某一个方向搜索,而回溯算法建立在 DFS 基础之上的,但不同的是在搜索过程中,达到结束条件后,恢复状态,回溯上一层,再次搜索。因此回溯算法与 DFS 的区别就是有无状态重置2.何时使用回溯算法当问题需要 “回头”,以此来查找出所有的解的时候,使用回溯算法。即满足结束条件或者发现不是正确路径的时候(走不通),要撤销选择,回退到上一个状态,继续尝试,直到找出所有解为止3.怎么样写回溯算法(从上而下,※代表难点,根据题目而变化)①画出递归树,找到状原创 2021-04-01 10:50:13 · 154 阅读 · 0 评论 -
位运算专题
位运算专题位操作(Bit Manipulation)是程序设计中对位模式或二进制数的一元和二元操作。在许多古老的微处理器上,位运算比加减运算略快,通常位运算比乘除法运算要快很多。在现代架构中,情况并非如此:位运算的运算速度通常与加法运算相同(仍然快于乘法运算)。位操作包括:¬¬ 取反(NOT)∩∩ 按位或(OR) |⊕⊕ 按位异或(XOR)^∪∪ 按位与(AND)&移位 << >>移位是一个二元运算符,用来将一个二进制数中的每一位全部都向一个方向移动指定位,溢原创 2021-03-29 10:21:09 · 134 阅读 · 0 评论 -
主题:数组,链表,快慢指针方法,双指针方法
主题:数组,链表,快慢指针方法,双指针方法无法高效获取长度,无法根据偏移快速访问元素,是链表的两个劣势。然而面试的时候经常碰见诸如获取倒数第k个元素,获取中间位置的元素,判断链表是否存在环,判断环的长度等和长度与位置有关的问题。这些问题都可以通过灵活运用双指针来解决。作者:Time-Limit链接:https://leetcode-cn.com/problems/linked-list-cycle/solution/yi-wen-gao-ding-chang-jian-de-lian-biao-wen原创 2021-03-23 10:33:01 · 90 阅读 · 0 评论 -
【LeetCode 92】
【LeetCode 92】链表特性:没法反向来进行遍历,所以不容易倒着来两种思路:1.变数遍历一遍记下来2.变指针对于倒转的情况一般使用双指针转的情况一般使用双指针原创 2021-03-20 17:47:43 · 136 阅读 · 0 评论 -
【LeetCode31】
【LeetCode31】class Solution {public: void nextPermutation(vector<int>& nums) { int i=nums.size()-1; int tmp; int flag=0; if(nums.size()==0||nums.size()==1) { return; } whil原创 2020-11-11 11:41:51 · 171 阅读 · 0 评论