ICDE的博客
  • 首页
  • 归档
  • 分类
  • 标签
  • 关于

动态规划应用

一、股票问题(*) 188. 买卖股票的最佳时机 IV 给定一个整数数组 prices ,它的第 i 个元素 prices[i] 是一支给定的股票在第 i 天的价格。 设计一个算法来计算你所能获取的最大利润。你最多可以完成 k 笔交易。 注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。 labuladong算法秘籍中使用了【三个状态】(三维dp数组)
2022-10-31
leetcode刷题笔记
#leetcode

刷题笔记6-图论

一、图论基础 1、图的表示 图可以分为: 有向无权图 有向有权图 无向无权图 无向有权图 1.1、邻接表 对于邻接表来说 有向/无向:没有影响,在相应结点的邻居结点表中增减即可 有权/无权:对结构有一定影响。 有权:List<int[]>[] graph 其中List中的int[]放两个值,一个是结点值,一个是权重 1234567List<
2022-10-15
leetcode刷题笔记
#leetcode

刷题笔记1-数组/链表

前缀和 使用于 数组固定不变  而且需要频繁求和的情况 相关题目: 1、一维数组的区域和检索 303 2、二维数组的区域和检索 304 3、和为k的子数组个数 560 在求解数组和的时候,最普通的方法就是for循环遍历,复杂度为\(O(N)\)。 但是当需要多次调用求解数组和的方法时,就需要降低其复杂度 使用前缀和可以将复杂度降为\(O(1)\) 使用条件:调用数组求和
2022-09-15
leetcode刷题笔记
#leetcode

刷题笔记4-二叉树

(一) 翻转二叉树 226 二叉树展开为链表 114 填充每个节点的下一个右侧节点指针 116 【翻转二叉树】 给你一棵二叉树的根节点 root ,翻转这棵二叉树,并返回其根节点。 1234567891011class Solution { public: TreeNode* invertTree(TreeNode* root) {
2022-09-15
leetcode刷题笔记
#leetcode

刷题笔记2-队列/栈

括号问题 有效的括号 20 使括号有效的最小添加 921 平衡括号串的最小插入 1541 【有效括号】 如果只判断一种括号,则不需要使用栈,通过一次遍历即可解决 1234567891011121314bool isValid(string s){ int left = 0; for(char c : s){ if(c ==
2022-09-15
leetcode刷题笔记
#leetcode

刷题笔记5-二叉搜索树

(一) 230、二叉搜索树中第K小的元素 538、把二叉搜索树转换为累加树 【二叉搜索树中第K小的元素】 1234567891011121314151617// 遍历二叉树的方式public int kthSmallest(TreeNode root, int k) { kthSmallestTraversal(root, k); return res;
2022-09-15
leetcode刷题笔记
#leetcode

刷题笔记3-设计数据结构

1 LRU 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001
2022-09-07
leetcode刷题笔记
#leetcode
1…345

搜索

Hexo Fluid