07 2023 档案
摘要:strlen和sizeof表示不同的含义。 strlen表示的是一个计数器的工作,它是从内存的某个位置(这里的位置可以是字符串开头,中间某个位置,也可以是某个不确定的内存区域)开始扫描,然后直至碰到第一个字符串结束符'\0'为止,然后返回计数器值。 sizeof在C语言中是用于判断数据类型或者表达式
阅读全文
摘要:问题 1 数据日志什么时候归档 ? 其实这个问题是比较需要明白的,到底日志在正常的情况下,什么时候才能归档, 到底条件是什么,要开启 postgresql 的日志的归档的前提条件,主要需要配置 1 wal_level = replica (或 logical) 2 archive_mode = on
阅读全文
摘要:求数组中,连续区间的大小,可使用前缀和相减得到。 进阶变形 若想得到区间大小等于target,暴力枚举 前缀和相减。复杂度O(n^2) 优化算法:将每次求得的前缀和放入hashMap中,S[j] - S[i] == target,(j>i) 求出S[j]后,判断hashMap中是否存在 S[i] =
阅读全文
摘要:格雷编码 当 n=0 时,格雷码序列为 [0]。 将n-1编码翻转,翻转部分的n-1位设置位1, 获得n位编码。 霍夫曼编码 那么为什么通过哈夫曼编码后得到的二进制码不会有前缀的问题呢? 这是因为在哈夫曼树中,每个字母对应的节点都是**叶子节点**,而他们对应的二进制码是由根节点到各自节点的路径所决
阅读全文
摘要:**操作符号栈,数字栈** 遍历字符 * 若是低优先级运算符(加、减),不断地弹出高优先级运算符(乘、除)栈顶运算符,直到栈为空或者栈顶不为高优先级运算符(乘、除) * 若是左括号运算符,加入操作栈,若是右括号运算符,不断地弹出栈顶运算符,直到栈顶为 左括号 * 若是数字,加入数字栈 遍历完成后,若
阅读全文
摘要:排列、组合适合**回溯法**,保存当前状态 什么时候使用 used 数组,什么时候使用 begin 变量 有些朋友可能会疑惑什么时候使用 used 数组,什么时候使用 begin 变量。这里为大家简单总结一下: **排列问题**,讲究顺序(即 [2, 2, 3] 与 [2, 3, 2] 视为不同列表
阅读全文
摘要:**01背包问题** dp[i][j] = max(dp[i-1][j], dp[i-1][j-w[i]] + v[i]); (j>=w[i]) 一维化(由于递推关系i只和i-1 有关,可进行空间压缩,**遍历j时需要逆序遍历**) for(int i=0;i=w[i];j--){ dp[j] =
阅读全文
摘要:##基本介绍 NUMERIC类型的语法: NUMERIC(precision, scale) precision 表示整个数据长度,scale 表示小数部分的长度。如: 1234.567 ,precision 为 7 ,scale 为 3. NUMERIC 类型 在小数点前面长度可达到 **131,
阅读全文
摘要:C/C++编译器的缺省字节对齐方式为自然对界。 * 即在缺省情况下,编译器为每一个变量或是数据单元按其自然对界条件分配空间。 在结构中,编译器为结构的每个成员按其自然对界(alignment)条件分配空间。各个成员按照它们被声明的顺序在内存中顺序存储(成员之间可能有插入的空字节),第一个成员的地址和
阅读全文