- 博客(9)
- 资源 (15)
- 收藏
- 关注
原创 LeetCode刷题笔记 动态规划 背包问题
背包问题:有 N 个物品和容量为 W 的背包,每个物品都有自己的体积 w 和价值 v,求拿哪些物品可以使得背包所装下物品的总价值最大。如果限定每种物品只能选择 0 个或 1 个,则问题称为 0-1 背包问题;如果不限定每种物品的数量,则问题称为完全背包问题。 0-1 背包问题,我们可以定义一个二维数组 dp 存储最大价值,其中 dp[i][j] 表示前 i 件物品体积不超过 j 的情况下能达到的最大价值。在我们遍历到第 i 件物品时,在当前背包总容量为 j 的情况下,分为两种情况:(1)如果我们不将
2021-09-28 13:37:29 2929
原创 LeetCode刷题笔记 动态规划 子序列问题
对于子序列问题,第一种动态规划方法是,定义一个 dp 数组,其中 dp[i]表示以 i 结尾的子序列的性质。在处理好每个位置后,统计一遍各个位置的结果即可得到题目要求的结果。第二种动态规划方法是,定义一个 dp数组,其中 dp[i] 表示到位置 i 为止的子序列的性质,并不必须以 i 结尾。这样 dp 数组的最后一位结果即为题目所求,不需要再对每个位置进行统计。300 最长递增子序列给定一个未排序的整数数组,求最长的递增子序列。输入是一个一维数组,输出是一个正整数,表示最长递增子序列的长度。输
2021-09-27 11:42:43 2772
原创 LeetCode刷题笔记 动态规划 分割型动态规划
对于分割类型题,动态规划的状态转移方程通常并不依赖相邻的位置,而是依赖于满足分割条件的位置。279 完全平方数给定一个正整数,求其最少可以由几个完全平方数相加构成。输入是给定的正整数,输出也是一个正整数,表示输入的数字最少可以由几个完全平方数相加构成。输入:n = 12输出:3解释:12 = 4 + 4 + 4解析: 设置状态:定义一个一维矩阵 dp,其中 dp[i] 表示数字 i 最少可以由几个完全平方数相加构成 状态转移方程:在本题中,位置 i 只依赖 i - k^2 的位
2021-09-26 13:59:18 2970
原创 LeetCode刷题笔记 动态规划 二维动态规划
64 最小路径和给定一个 m × n 大小的非负整数矩阵,求从左上角开始到右下角结束的、经过的数字的和最小的路径。每次只能向右或者向下移动。输入是一个二维数组,输出是最优路径的数字和。输入:grid = [[1,3,1],[1,5,1],[4,2,1]]输出:7解释:因为路径 1→3→1→1→1 的总和最小。解析: 设置状态:使用一个二维的 dp 数组,其中 dp[i][j] 表示从左上角开始到 (i, j) 位置的最优路径的数字和。 状态转移方程:因为每次只能向下或者向右移动,我
2021-09-25 11:54:27 3724
原创 LeetCode刷题笔记 动态规划 一维动态规划
70 爬楼梯给定 n 节台阶,每次可以走一步或走两步,求一共有多少种方式可以走完这些台阶。输入是一个数字,表示台阶数量;输出是爬台阶的总方式。输入: 2输出: 2解释: 有两种方法可以爬到楼顶。1 阶 + 1 阶2 阶解析: 这是十分经典的斐波那契数列题。 设置状态:定义一个数组 dp,dp[i] 表示走到第 i 阶的方法数 状态转移方程:因为我们每次可以走一步或者两步,所以第 i 阶可以从第 i-1 或 i-2 阶到达。换句话说,走到第 i 阶的方法数即为走到第 i-1
2021-09-24 21:35:21 3069
原创 Redis RDB与AOF持久化方式
01 Redis的持久化方式Redis 提供了不同级别的持久化方式:RDB持久化方式 能够在指定的时间间隔能对数据进行快照存储AOF持久化方式 记录每次对服务器写的操作,当服务器重启的时候会重新执行这些命令来恢复原始的数据。AOF命令以redis协议追加保存每次写的操作到文件末尾。另外,Redis还能对AOF文件进行后台重写,使得AOF文件的体积不至于过大Redis持久化的使用:不适用持久化:功能类似于memcache,如果只希望数据在服务器运行的时候存在,也可以不使用任何持久化方式。同时
2021-09-17 13:43:03 2565
原创 Redis 常用基本操作命令
01 全局命令1.1 Keys命令KEYS pattern 查找所有符合给定模式pattern(正则表达式)的 key,但是KEYS *是非常消耗内存的,容易导致Redis崩溃172.16.255.101:6379> KEYS *1) "k1"2) "k4"3) "k2"4) "k5"02 字符串命令Redis并不是简单的key-value存储,实际上他是一个数据结构服务器,支持不同类型的值。其中Redis Strings是最简单的Redis类型,如果只用这种类型,Redis就相当
2021-09-16 17:08:17 3301
原创 Redis 简介与安装部署
01 Redis概念Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。 它支持多种类型的数据结构,如 字符串(strings), 散列(hashes), 列表(lists), 集合(sets), 有序集合(sorted sets) 与范围查询, bitmaps, hyperloglogs 和 地理空间(geospatial) 索引半径查询。 Redis 内置了 复制(replication),LUA脚本(Lua scripting), LRU驱动事件(L
2021-09-15 15:23:42 2294
原创 C++11 常用新特性汇总
文章目录统一的初始化方法auto关键字decltype关键字返回类型后置右值引用与移动构造函数左值和右值的基本概念右值引用移动构造函数move函数智能指针 shared_ptr空指针 nullptr基于范围的 for 循环无序容器Lambda 表达式统一的初始化方法 在C++11中可以直接在变量名后加上初始化列表来对对象进行初始化。 在此之前,C++中的初始化方式很多,有初始化列表、拷贝初始化和直接初始化等,例如:class A{public: int a; int b; A(
2021-09-01 16:42:11 2945 2
PyFlink 有状态流处理 + SkLearn 实现在线机器学习
2022-02-21
PyFlink 有状态流处理实现实时排行榜
2022-02-21
PyFlink 词频统计完整代码
2022-02-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人