一具体就深刻
最近很焦虑,可能因为自己一直在堕落,我不知道自己想要学什么,未来很迷茫。其实是自己沉迷在网络世界无法自拔,享受着短暂的多巴胺带来的快感。
C+笔记(2):const和static
const用法常量变量声明:const int a = 10; // a 是一个常量变量,值不可改变
常量指针:int x = 10, y = 20;const int* p1 = &x; // p1 指向的值不可修改,但 p1 本身可以修改int* const p2 = &x; // p2 指向的地址不可修改,但 p2 指向的值可以修改const int* const p3 = &x; // p3 既不可以修改指向的地址,也不可以修改指向的值
函数参数声明为常量:void func(const int x) { // 函数内部不能修改 x 的值}
类数据成员声明为常量:class MyClass {public: MyClass(int value) : m_value(value) {}private: const int m_value; // 类内部常量成员};
const 成员函数:class MyClass {public: ...
《长安的荔枝》
一个社畜的挣扎2024.5.3凌晨读完这本书,原意是睡前读一会,结果一发不可收拾,剧情刚好到高潮处,跌宕起伏,让人不禁揪起心来。一个九品小芝麻官被安排了不可能完成的任务,从岭南运输鲜荔枝去到长安,全程五千多公里,路上险峻不可一语。刚贷款买完房子的李善德被骗进这一大坑内。
从一开始彻底绝望,去到岭南也不过想知道“就算失败,我也想知道,自己倒在距离终点多远的地方”。孤注一掷,全力以赴,终究是虔诚感动了上苍,也终究是李善德自己的本事天大。
《长安的荔枝》马伯庸21个笔记
◆ 第二章
2024/4/30 发表想法怎么说呢,我们跟李善德都挺像的。
就算失败,我也想知道,自己倒在距离终点多远的地方。
◆ 第三章
2024/4/30 发表想法唉,老实人啊
假如朝廷开一个忍气吞声科,他能轻松拿到状元。
假如朝廷开一个忍气吞声科,他能轻松拿到状元。
这一刻,他忘记了等待的贵妃,忘记了自己未知的命运,忘记了长安城市的香积贷,只想纵情歌舞,像当年一样跳一支无忧无虑的胡旋舞。
◆ 第四章
说到这里,他突然再一次咳嗽起来,极其剧烈 ...
二分算法
一分为二,化繁为简
思路
预处理–数组有序,不是有序则 先排序
二分查找–将数组一分为二
后处理–剩余一半数组中查找可行的范围
三个模板
模板一// 二分查找 --- [left, right]// 数组已经是有序的了!int binarySerach1(int[] nums, int target) { if (nums == null || nums.length == 0) { return -1; } int left = 0, right = nums.length - 1; while (left <= right) { // 防止溢出 等同于(left + right)/2 int mid = left + (right - left) / 2; if (nums[mid] == target) { return mid; } else if (nums[mid] > t ...
《受戒》
旧时的江南 这本书是第二次看了,上次看是因为在语文课外读物中看到受戒这篇小说,特别喜欢其中无虑的语言,所以去看了他的小说集。第二次看第一感觉不是对江南的感觉,而是高中时候对江南向往的回忆。
无意看到了汪曾祺的小说,一下把我拉回22年的那个暑假,高二升高三的压力还未感受,百无聊赖做一些题后,在书苑里无意看到他的小说集。那天下午雨下的很大,下的匆忙,路上满是避雨的人,书苑旁公园的人也纷纷来屋檐下躲雨。我也沉浸在那个汪曾祺描画的南方的水乡,也有一点身临其境的感觉了。 半透的玻璃,能看到小孩子对着大雨好奇的眼神,我好久没见过那么大的雨了,也好久没那么想念一场雨了。记得小时候,那也是一个下午,家里莫名停电,母亲在和面蒸馍,姐姐给我推荐一个电影,千与千寻。小时候哪里看得懂,只是对电影的天马行空感到奇妙。大雨,或者是夏雨,我对你满是喜欢。匆忙的来,冲刷着空气,净化着炎热。 童年真的满是幸福啊…
一点一点的看完了这本书,很舒服,里面的人物都是立体的。
《受戒:汪曾祺小说精选》汪曾祺
◆ 点评
2024/4/29 认为好看在这日益加速的当代,看看旧时江南水乡,静 ...
数据结构与算法笔记
数据结构与算法笔记考完蓝桥杯,混完省三参与奖,开始重新补数据结构与算法,目标是Leetcode Knight
数学相关算法LCM(最小公倍数)使用公式LCM(a, b) = |a * b| / GCD(a, b)然后使用辗转相除法球的最大公约数
b = 0, GCD = a;
a = b, b = a % b, 递归至b = 0;int gcd(int a, int b){ while(b != 0){ int temp = b; b = a% }}
可以看作是一个长方形,长边是a,短边是b。如何使用一个正方形将该长方形填满,所求的最大的正方形边长就是a和b的最大公约数。先使用
小技巧需要将一个数字按位分离,可以使用to_string()函数
快速幂int quick_power(int x, int pow){ int res = 1; while(pow){ if(pow & 1) res * ...
C语言实现简单的扫雷小游戏
C语言实现简单的扫雷小游戏效果要求
各功能实现
打印菜单
初始化mine与show
打印show
埋雷,记录输入的坐标
代码解释
1.
C++笔记(1):C++比C多的特性
C++比C多的一些特性
命名空间贴一个ai写的,太多了😉
C++中的命名空间(Namespace)是一种机制,用于组织代码元素(如变量、函数、类等),以避免名称冲突并提供一种控制作用域的方式。命名空间帮助开发者在大型项目或使用外部库时,能够有效地管理标识符的可见性和访问权限。以下是关于C++命名空间的一些关键点:
为什么需要命名空间?
解决命名冲突:当不同的库或者程序的不同部分使用相同的名称时,命名空间可以用来区分这些同名的标识符。例如,你可能在自己的代码中定义了一个叫做log的函数,同时又想使用标准库中的std::log数学函数,这时命名空间就显得尤为重要。
组织代码:命名空间有助于将相关的代码元素组织在一起,提高代码的可读性和可维护性。比如,所有与输入输出相关的函数和类都在std::iostream命名空间中。
如何定义和使用命名空间?
定义命名空间:使用namespace关键字后跟命名空间的名称,并以一对花括号 {} 包裹其中的成员。例如:
namespace MyNamespace { int value = 10; void myF ...
动态规划问题
动态规划问题解题思路
先分析dp各下标及其对应值代表的含义
写出状态转移方程
初始化dp数组
确认遍历顺序
打印dp数组来debug
示例跳台阶
问题给定一个共有 𝑛 阶的楼梯,你每步可以上 1 阶或者 2 阶,请问有多少种方案可以爬到楼顶?
解题思路
分析题目,求解到达最后一个台阶的方案,简化为到达第i哥台阶的方案数;设置dp数组,设置为一维数组dpn + 1,dp[i]代表到达第i个台阶的方案数
第i个台阶只能由第i - 1或i - 2各台阶跳上去,因此dp[i] = dp[i - 1] + dp[i - 2];
初始化dp数组,第一个台阶只有一种方案,第二个台阶有两个,因此dp[1] = 1;dp[2] = 2;
确认遍历顺序,dp前两个已经确定,直接从dp[3] 开始往后循环遍历(从前往后跳,后面台阶方案数需要使用到前面台阶方案数的数据)
打印dp数组来debug