摘要: volatile 关键字是一种类型修饰符,用它声明的类型变量表示可以被某些未知的因素更改。volatile 提醒编译器它后面所定义的变量随时都有可能改变,因此编译后的程序每次需要存储或读取这个变量的时候,都会直接从变量地址中读取数据。如果没有 volatile 关键字,则编译器可能优化读取和存储,可 阅读全文
posted @ 2024-02-24 18:13 sahara-随笔 阅读(409) 评论(0) 推荐(0) 编辑
摘要: 堆空间,new操作初始化 1、对于有自己写构造函数的类,不论类型名后面有没有括号()或者数组[],都用构造函数进行初始化,如果构造函数delete,则编译报错; 2、如果没有构造函数,则不加括号的new只分配内存空间,不进行内存的初始化, 3、而加了括号()的new会在分配内存的同时初始化为0。 栈 阅读全文
posted @ 2023-08-20 15:52 sahara-随笔 阅读(19) 评论(0) 推荐(0) 编辑
摘要: malloc 是线程安全的,但是不可重入。malloc 在堆上分配内存,而其内部为了效率,维护了一个堆块链表,这个链表是全局静态变量,导致它不是可重入的。 socket()是可重入的,它底层使用系统调用。 内核在执行系统调用时,处于进程上下文,即引发系统调用的那个进程。在进程上下文中,内核可以休眠并 阅读全文
posted @ 2023-08-20 10:43 sahara-随笔 阅读(91) 评论(0) 推荐(0) 编辑
摘要: strlen和sizeof表示不同的含义。 strlen表示的是一个计数器的工作,它是从内存的某个位置(这里的位置可以是字符串开头,中间某个位置,也可以是某个不确定的内存区域)开始扫描,然后直至碰到第一个字符串结束符'\0'为止,然后返回计数器值。 sizeof在C语言中是用于判断数据类型或者表达式 阅读全文
posted @ 2023-07-23 15:41 sahara-随笔 阅读(15) 评论(0) 推荐(0) 编辑
摘要: 问题 1 数据日志什么时候归档 ? 其实这个问题是比较需要明白的,到底日志在正常的情况下,什么时候才能归档, 到底条件是什么,要开启 postgresql 的日志的归档的前提条件,主要需要配置 1 wal_level = replica (或 logical) 2 archive_mode = on 阅读全文
posted @ 2023-07-22 14:09 sahara-随笔 阅读(695) 评论(0) 推荐(0) 编辑
摘要: 求数组中,连续区间的大小,可使用前缀和相减得到。 进阶变形 若想得到区间大小等于target,暴力枚举 前缀和相减。复杂度O(n^2) 优化算法:将每次求得的前缀和放入hashMap中,S[j] - S[i] == target,(j>i) 求出S[j]后,判断hashMap中是否存在 S[i] = 阅读全文
posted @ 2023-07-14 12:58 sahara-随笔 阅读(23) 评论(0) 推荐(0) 编辑
摘要: 格雷编码 当 n=0 时,格雷码序列为 [0]。 将n-1编码翻转,翻转部分的n-1位设置位1, 获得n位编码。 霍夫曼编码 那么为什么通过哈夫曼编码后得到的二进制码不会有前缀的问题呢? 这是因为在哈夫曼树中,每个字母对应的节点都是**叶子节点**,而他们对应的二进制码是由根节点到各自节点的路径所决 阅读全文
posted @ 2023-07-14 12:58 sahara-随笔 阅读(115) 评论(0) 推荐(0) 编辑
摘要: **操作符号栈,数字栈** 遍历字符 * 若是低优先级运算符(加、减),不断地弹出高优先级运算符(乘、除)栈顶运算符,直到栈为空或者栈顶不为高优先级运算符(乘、除) * 若是左括号运算符,加入操作栈,若是右括号运算符,不断地弹出栈顶运算符,直到栈顶为 左括号 * 若是数字,加入数字栈 遍历完成后,若 阅读全文
posted @ 2023-07-14 12:58 sahara-随笔 阅读(25) 评论(0) 推荐(0) 编辑
摘要: 排列、组合适合**回溯法**,保存当前状态 什么时候使用 used 数组,什么时候使用 begin 变量 有些朋友可能会疑惑什么时候使用 used 数组,什么时候使用 begin 变量。这里为大家简单总结一下: **排列问题**,讲究顺序(即 [2, 2, 3] 与 [2, 3, 2] 视为不同列表 阅读全文
posted @ 2023-07-14 12:57 sahara-随笔 阅读(22) 评论(0) 推荐(0) 编辑
摘要: **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] = 阅读全文
posted @ 2023-07-14 12:57 sahara-随笔 阅读(14) 评论(0) 推荐(0) 编辑
点击右上角即可分享
微信分享提示