
leectcode 100
Python ml
这个作者很懒,什么都没留下…
展开
-
33. 搜索旋转排序数组
【代码】33. 搜索旋转排序数组。原创 2024-08-08 09:59:25 · 110 阅读 · 0 评论 -
131. 分割回文串
【代码】131. 分割回文串。原创 2024-08-07 00:05:01 · 107 阅读 · 0 评论 -
621. 任务调度器
【代码】621. 任务调度器。原创 2024-08-06 14:02:21 · 280 阅读 · 0 评论 -
347. 前 K 个高频元素(桶排序)
【代码】347. 前 K 个高频元素(桶排序)原创 2024-08-02 00:40:25 · 334 阅读 · 0 评论 -
lru手撕
【代码】lru手撕。原创 2024-07-31 13:52:22 · 376 阅读 · 0 评论 -
40. 组合总和 II
回溯原创 2023-06-30 11:40:28 · 45 阅读 · 0 评论 -
79. 单词搜索 回溯
class Solution { public: bool flag=false; bool exist(vector<vector<char>>& board, string word) { char first=word[0]; int row=board.size(),col=board[0].size(); for(int i=0;i<row;++i){ for(int j=原创 2022-05-27 20:51:05 · 84 阅读 · 0 评论 -
46. 全排列 回溯
46. 全排列 class Solution { public: vector<int>tmp;vector<vector<int>>res; vector<vector<int>> permute(vector<int>& nums) { backtrack(nums,0,(int)nums.size()); return res; } void backtrac原创 2022-05-27 20:17:26 · 106 阅读 · 0 评论 -
39. 组合总和 (回溯)
39. 组合总和 class Solution { public: vector<vector<int>>res; vector<int>tmp; vector<vector<int>> combinationSum(vector<int>& candidates, int target) { dfs(candidates,target,0); return res;原创 2022-05-27 18:52:28 · 95 阅读 · 0 评论 -
77. 组合 回溯
class Solution { public: vector<int>tmp; vector<vector<int>>res; void dfs(int cur ,int n,int k){ if(tmp.size()+n-cur+1<k) return; if(tmp.size()==k){ res.emplace_back(tmp); return;原创 2022-05-27 18:32:34 · 67 阅读 · 0 评论 -
78. 子集
78. 子集 class Solution { public: vector<vector<int>> subsets(vector<int>& nums) { vector<vector<int>>res; if(nums.size()==1) res={{nums[0]},{}}; if(nums.size()>1){ int tmp=nums[0];原创 2022-05-21 13:59:26 · 82 阅读 · 0 评论 -
98. 验证二叉搜索树
98. 验证二叉搜索树 中序遍历时,判断当前节点是否大于中序遍历的前一个节点,如果大于,说明满足 BST,继续遍历;否则直接返回 false。 class Solution { long long pre=LLONG_MIN; //中序遍历的第一个结点一定大于long_min public: bool isValidBST(TreeNode* root) { if(root==nullptr) return true; if(!isValidBST(root原创 2022-05-21 12:08:29 · 96 阅读 · 0 评论 -
75. 颜色分类
75. 颜色分类 class Solution { public: void sortColors(vector<int>& nums) { int len=nums.size(),left=0,right=len-1; while(left<right){ while(nums[left]==0&&left<right) ++left; while(nums[right]原创 2022-05-21 11:29:03 · 94 阅读 · 0 评论 -
64. 最小路径和
64. 最小路径和 直接在grid数组上改为dp结果 class Solution { public: int minPathSum(vector<vector<int>>& grid) { int m=grid.size(),n=grid[0].size(); if(m==0||n==0) return 0; for(int i=1;i<m;++i) grid[i][0]+=grid[i原创 2022-05-20 22:59:30 · 67 阅读 · 0 评论 -
20. 有效的括号
20. 有效的括号 class Solution { public: bool isValid(string s) { stack<char> St; int len=s.length(); for(int i=0;i<len;++i){ if(s[i]==')'||s[i]=='}'||s[i]==']') { if(St.empty()) return false;原创 2022-05-20 22:49:04 · 76 阅读 · 0 评论 -
22. 括号生成 (DFS+剪枝)
22. 括号生成 class Solution { void backtrack(vector<string>& ans,string& cur,int open,int close,int n){ if(cur.size()==n*2){ //cur里面已经有n对括号 ans.emplace_back(cur); return; } if(open<n){原创 2022-05-20 19:28:21 · 182 阅读 · 0 评论 -
42. 接雨水 hard
42. 接雨水 找到数组中从下标 i 到最左端最高的条形块高度left_max。 找到数组中从下标 i 到最右端最高的条形块高度 right_max。 扫描数组height 并更新答案: 累加 min(max_left[i],max_right[i])−height[i] 到 ans 上 class Solution { public: int trap(vector<int>& height) { int size=height.size(),ans=0;原创 2022-05-20 13:46:01 · 84 阅读 · 0 评论