![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
leetcode刷题记录
刷题记录
LfreshJ
这个作者很懒,什么都没留下…
展开
-
无重复字符的最长子串
无重复字符的最长子串 时间复杂度O(N) 方法滑动窗口(双指针)暴力解法:思路如图:观察第一个若abc是最最大值,那么bc之间也应该是不重复的,所以从这里看出我们需要维护两个指针,左右。那么怎么去重?C++用unordered_set代码如下:class Solution {public: int lengthOfLongestSubstring(string s) { // 哈希集合,记录每个字符是否出现过原创 2021-01-15 17:20:33 · 118 阅读 · 0 评论 -
斐波那契(尾递归,DP)
斐波那契先看斐波拉契递归的朴素版本:int fib1(int n) { if(n < 2) return n; else return fib1(n-1) + fib1(n-2);`}这段代码的意思是:第n个数等于前两个数之和。但 f(1) = 1, f(0) = 0, 这两个特殊值作为递归出口。优化:尾递归:int fib_wei(int n , int a, int b) { if(n < 2) return n; if(n == 2)原创 2020-11-25 21:03:04 · 235 阅读 · 5 评论 -
268. 缺失数字
给定一个包含 0, 1, 2, …, n 中 n 个数的序列,找出 0 … n 中没有出现在序列中的那个数。示例 1:输入: [3,0,1]输出: 2示例 2:输入: [9,6,4,2,3,5,7,0,1]输出: 8来源:力扣(LeetCode)链接:缺失的数字力扣源地址解题思路:核心数据0 - n;1:利用数列知识通过观察可知,加上缺失的数据,数据是一个等差为一的数列,于是得出如下解法。class Solution {public:int missingNumber(vect原创 2020-06-27 23:40:42 · 152 阅读 · 0 评论