![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
leetcode
吃饱了的阴谋家
这个作者很懒,什么都没留下…
展开
-
回溯法
回溯法回溯法:模板、套路、简化写法 - 子集 II - 力扣(LeetCode) (leetcode-cn.com)回溯法实际上一个类似枚举的搜索尝试过程,主要是在搜索尝试过程中寻找问题的解,当发现已不满足求解条件时,就「回溯」返回,尝试别的路径回溯法是一种算法思想,而递归是一种编程方法,回溯法可以用递归来实现。回溯法的整体思路是:搜索每一条路,每次回溯是对具体的一条路径而言的。对当前搜索路径下的的未探索区域进行搜索,则可能有两种情况:当前未搜索区域满足结束条件,则保存当前路径并退出当前搜索;原创 2021-04-15 08:49:15 · 247 阅读 · 0 评论 -
反转链表Ⅱ
反转链表Ⅱ链接https://leetcode-cn.com/problems/reverse-linked-list-ii/代码我的代码基于栈进行反转,比较复杂,空间复杂度比较高,时间复杂度为存在常数的O(n)/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode() : val(0), next(nullptr)原创 2021-04-15 08:48:26 · 106 阅读 · 0 评论 -
反转链表
反转链表链接https://leetcode-cn.com/problems/reverse-linked-list/代码/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode() : val(0), next(nullptr) {} * ListNode(int x) : val(x), next(nullpt原创 2021-04-15 08:47:57 · 71 阅读 · 0 评论 -
二分查找
二分查找普通二分查找while(i <= j){//注意是小于等于 mid = (j + i) / 2; if(target == matrix[row][mid]){ return true; } if(target > matrix[row][mid]){ i = mid+1;//注意需要加一 }else if(target < matrix[row][mid]){ j = mid-1;//注意需要减一原创 2021-04-15 08:45:37 · 72 阅读 · 0 评论 -
丑数②
丑数②链接https://leetcode-cn.com/problems/ugly-number-ii/代码最小堆加set去重class Solution {public: int nthUglyNumber(int n) { vector<int> factors = {2, 3, 5}; unordered_set<long> seen; priority_queue<long, vector<lo原创 2021-04-15 08:45:04 · 81 阅读 · 0 评论 -
不同的子序列
不同的子序列链接https://leetcode-cn.com/problems/distinct-subsequences/代码class Solution {public: int numDistinct(string s, string t) { int m = s.size(); int n = t.size(); vector<vector<long>> dp(m+1, vector<long>原创 2021-04-15 08:44:31 · 36 阅读 · 0 评论 -
TOP100 正则表达式匹配
TOP100 正则表达式匹配链接https://leetcode-cn.com/problems/regular-expression-matching/solution/zheng-ze-biao-da-shi-pi-pei-by-leetcode-solution/转载 2021-04-15 08:43:14 · 77 阅读 · 0 评论 -
132模式(多复习)
132模式(多复习)链接https://leetcode-cn.com/problems/132-pattern/代码class Solution {public: bool find132pattern(vector<int>& nums) { stack<int> stack; int num = nums.size(); stack.push(nums[num-1]); int max_k原创 2021-04-15 08:42:05 · 79 阅读 · 0 评论 -
42.接雨水
42.接雨水链接https://leetcode-cn.com/problems/trapping-rain-water/代码class Solution {public: int trap(vector<int>& height) { int left = 0; int right = height.size() - 1; int left_max = 0; int right_max = 0;原创 2021-04-15 08:41:26 · 36 阅读 · 0 评论 -
二叉树的遍历
二叉树的遍历递归方法//recursive//中序遍历class Solution1 {public: vector<int> inorderTraversal(TreeNode* root) { vector<int> ret; if(root==NULL)return ret; inorderHelper(ret,root); return ret; }private: void原创 2021-04-15 08:40:13 · 57 阅读 · 0 评论