![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
leetcode
文章平均质量分 93
小旁友~
这个作者很懒,什么都没留下…
展开
-
leetcode解题动态规划篇
动态规划1. 509. 斐波那契数class Solution {public: int fib(int n) { if(n == 0) return 0; if(n == 1) return 1; return fib(n -1) + fib(n - 2); }};比较简单2. 70. 爬楼梯class Solution {public: int climbStairs(int n) { if(n原创 2022-05-04 17:01:14 · 687 阅读 · 0 评论 -
leetcode解题回溯篇
九、回溯算法什么是回溯法回溯法也可以叫做回溯搜索法,它是一种搜索的方式。回溯是递归的副产品,只要有递归就会有回溯。所以以下讲解中,回溯函数也就是递归函数,指的都是一个函数。回溯法的效率回溯法的性能如何呢,这里要和大家说清楚了,虽然回溯法很难,很不好理解,但是回溯法并不是什么高效的算法。因为回溯的本质是穷举,穷举所有可能,然后选出我们想要的答案,如果想让回溯法高效一些,可以加一些剪枝的操作,但也改不了回溯法就是穷举的本质。那么既然回溯法并不高效为什么还要用它呢?因为没得选,一些问题能暴力搜出原创 2022-03-29 14:35:17 · 817 阅读 · 0 评论 -
leetcode解题二叉树篇
八、 二叉树二叉树的种类在我们解题过程中二叉树有两种主要的形式:满二叉树和完全二叉树。满二叉树满二叉树:如果一棵二叉树只有度为0的结点和度为2的结点,并且度为0的结点在同一层上,则这棵二叉树为满二叉树。如图所示:这棵二叉树为满二叉树,也可以说深度为k,有2^k-1个节点的二叉树。完全二叉树什么是完全二叉树?完全二叉树的定义如下:在完全二叉树中,除了最底层节点可能没填满外,其余每层节点数都达到最大值,并且最下面一层的节点都集中在该层最左边的若干位置。若最底层为第 h 层,则该层包含 1~原创 2022-03-27 18:46:15 · 1628 阅读 · 0 评论 -
leetcode解题栈与列队篇
栈与队列1. 232.用栈实现队列请你仅使用两个栈实现先入先出队列。队列应当支持一般队列支持的所有操作(push、pop、peek、empty):实现 MyQueue 类:void push(int x) 将元素 x 推到队列的末尾int pop() 从队列的开头移除并返回元素int peek() 返回队列开头的元素boolean empty() 如果队列为空,返回 true ;否则,返回 false来源:力扣(LeetCode)链接:https://leetcode-cn.com/pro原创 2022-03-09 17:36:37 · 164 阅读 · 0 评论 -
leetcode解题字符串篇
字符串1. 344.反转字符串编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 s 的形式给出。不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。class Solution {public: void reverseString(vector<char>& s) { int left = 0; int right = s.size() - 1;原创 2022-03-06 15:43:08 · 132 阅读 · 0 评论 -
KMP算法(转载)
本文转自https://programmercarl.com/0028.实现strStr.html什么是KMP说到KMP,先说一下KMP这个名字是怎么来的,为什么叫做KMP呢。因为是由这三位学者发明的:Knuth,Morris和Pratt,所以取了三位学者名字的首字母。所以叫做KMPKMP有什么用KMP主要应用在字符串匹配上。KMP的主要思想是当出现字符串不匹配时,可以知道一部分之前已经匹配的文本内容,可以利用这些信息避免从头再去做匹配了。所以如何记录已经匹配的文本内容,是KMP的重点,也是n转载 2022-03-06 14:57:35 · 127 阅读 · 0 评论 -
leetcode解题链表篇
1. 203.移除链表元素给你一个链表的头节点 head和一个整数 val,请你删除链表中所有满足 Node.val == val的节点,并返回 新的头节点 。/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode() : val(0), next(nullptr) {} *原创 2022-03-03 16:35:13 · 800 阅读 · 0 评论 -
leetcode解题哈希篇
四、哈希1. 242有效的字母异位词给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。注意:若 s 和 t 中每个字符出现的次数都相同,则称 s 和 t 互为字母异位词。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/valid-anagram著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。class Solution {public: bool isAnagram(strin原创 2022-02-28 21:00:43 · 334 阅读 · 0 评论 -
leetcode解题数组篇
一、二分查找1. 704 “二分查找”给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/binary-search著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。 int search(vector<int>& nums, i原创 2022-02-22 18:55:19 · 1008 阅读 · 0 评论