- 博客(25)
- 收藏
- 关注
原创 python入门级——输出素数
问题:输出某个区间内所有的素数。素数就是其因子只有1和他本身的数字,例如,5的因数只有1和5,所以5是素数;9的因数有1 3 9,因此9不是素数。假设这个数字是n,能在2~n-1之间找到因数的即为非素数。
2025-05-28 11:44:08
358
原创 GCDT: A Chinese RST Treebank forMultigenre and Multilingual Discourse Parsing——介绍一个中文语料库
从一个数据库应用出发,研究模型原理以及代码
2025-04-18 09:10:27
804
原创 字符串getline()——整行读入函数
升级练习 2:学生信息录入 + 冒号分割 + 成绩排序输出。升级练习 3:按分号分割多行内容并过滤指定关键字。练习 4:输入多行,直到输入 "END" 为止。练习 5:读取学生姓名和成绩(冒号分隔)升级练习 1:统计每一行有多少个单词。练习 2:按逗号拆分多个单词。练习 3:按空格拆分多个单词。练习 1:读取一句话并输出。
2025-04-16 11:28:31
292
原创 原码反码补码
在补码运算中,[1000 0000]补其实就是-128,但实际上将以前的 -0 表示为-128的补码形式,所以-128并没有原码和反码表示。这就是为什么8位二进制,使用原码或反码表示的范围为[-127, +127],使用补码表示的范围为[-128, 127]。原码的表示方法是:最高位为符号位,0代表正数,1代表负数,非符号位用该数字绝对值的二进制表示。同理对于常用到的有符号的32位int类型,可以表示范围是: [-2的31次方,2的31次方-1]。负数的反码是在其原码的基础上,符号位不变,其余位取反。
2025-04-10 11:55:06
332
原创 位运算操作
与本身和0运算时,&就看后边,|就看前面。变0用与定位0,变1用或定位1,取反异或同变1。判断奇偶和1与,1奇0偶更简单。比较相等用异或,0等绝对不会错。8.拿出第i个位置上的数字:(a>>i)&1或者a&(1<<i)9.相反数(取反加1):a的相反数是~a+110.取最低位的1:a&(-a)11.删除最低位的1:a & (a - 1);//如果结果为0,则说明a是2的指数12.只保留后面几位:a&((1<<(i+1))-1)13.不保留后面几位:a&~((1<<(i+1))-1)
2025-04-10 11:37:53
356
原创 二叉树遍历——前中后、深度广度(C++版1)
• 前序遍历:根 -> 左 -> 右• 中序遍历:左 -> 根 -> 右• 后序遍历:左 -> 右 -> 根。
2025-03-10 17:06:30
249
原创 分治思想(C++版)
分析:与马鞍题类似,行列一起判断,因为每一行最后一个值和每一列最后一个值都是该行或者该列的最大值,所以我们用分治思想,右上角元素开始 matrix[i][j]>target,左移列,matrix[i][j]<target,下移行。编写一个高效的算法来搜索。
2025-03-08 14:03:33
292
原创 变形二分查找(C++版)
变形二分查找模式对二分查找进行改进,以解决更广泛的问题,例如在旋转排序数组中查找元素。在处理涉及排序或旋转数组,且需要查找特定元素的问题时,可使用该模式。
2025-03-08 14:01:11
338
原创 单调栈补充(C++版)
/方便处理边界情况,首位引入0。【新的栈顶索引】对应元素因为比上一次栈顶索引对应的元素小,所以是上一次栈顶索引对应元素的。解释面积的计算:w=(当前索引−新栈顶索引−1),h=栈顶元素。-1是因为右端点所在的元素值并不包含在我们要计算面积时的值。,然后计算以该柱子为高的最大矩形面积。例子:对于i=7时候的处理,
2025-03-06 16:15:27
242
原创 区间重叠(C++版)
用于处理合并或处理数组中的重叠区间。在按起始时间排序的区间数组中,两个区间[a, b]和[c, d]重叠的条件是b >= c(即第一个区间的结束时间大于或等于第二个区间的起始时间)
2025-03-04 22:48:41
883
原创 单调栈算法(C++版)
单调栈模式使用栈来维护按特定顺序(递增或递减)排列的元素序列。即,要么栈空,要么栈内所有数字都是有序的,用于特定的运算。方法:上小下大情况:由右向左遍历,1.栈空或栈顶元素 top.value 比当前元素 x 大的时候,x 可以进栈,此时记下 x 进栈前的栈顶元素top.value作为x 的下一个更大元素(此时应该有哈希表);
2025-02-27 17:58:07
1215
原创 关于李飞飞巴黎演讲的一点思考
AI是不是人类的未来?这个问题本身或许就是伪命题。真正的未来不在冰冷的算法中,而在亿万普通人的创造里。当DeepSeek这样的技术平台将AI变成人人可用的"数字农具",我们看到的不仅是技术普惠的曙光,更是人类文明突破个体局限,实现集体跃升的历史契机。站在文明的长河边,我们终将明白:AI从来不是目的,而是桥梁。它应该也必须成为普罗大众手中的火种,照亮每个人通往星辰大海的征途。因为人类文明的终极答案,永远写在人民群众追求美好生活的实践中。
2025-02-23 22:27:33
449
原创 滑动窗口算法(C++版)
我们可以假设,s中确实存在含有t所有元素的子串,也许s=XXXABCXXA,t=ABC,那么包含一个A、一个B、一个C的子串有XXXABC、XXABC、XABC、ABC、ABCX、ABCXX、BCXXA、XXXABCXX......很多种情况,但我们就要最短的那个,即子串的两端就是t中元素的那个。翻译一下就是在s串中找t串中的所有元素,要求在s的子串中包含所有t中的元素,不论顺序,而且s子串中元素个数也必须大于t中所有元素的个数,也就是事例中的那样的。的连续子数组,并输出该最大平均数。
2025-02-19 15:03:58
844
原创 快慢指针算法(c++版)
一个发现:s与f经过n次循环相遇,s走了n, f走了2n, 记原点到环入口距离为m, 那么s在环中距离为n-m, 同理,f在环中距离为2n-m,此时有f == s, (2n-m - (n - m) )%c = 0,即 n%c=0 , 循环次数就是环中数字的倍数。,即当前的值是下一个值的索引(位置或地址),这就形成了一个与原来不一样的序列,4--3--7--8--6(后)--1--2--5--6(前)--1--2....虽然两个6不一样,但6所指向的其他序列都是一样的,即生成了环形。,判断链表中是否有环。
2025-02-18 15:20:59
911
原创 前缀和算法(c++版)
若两个区间 [0, i]和[0 , j ] 的前缀和差值为0,则说明 [0,j]的和 减去从[ 0, i ]的和,结果是0,即0和1个数相同。最远的 i 应该是当 a 第一次出现的时候的i。例如,num=[1,0,1,0],则a=[1,-1,1,-1],sum=[1,0,1,0],把sum写入哈希表。我们建立哈希表 mp,以和为键,出现次数为对应的值,记录 pre[j] 出现的次数,从左往右,边更新 mp ,边计算答案,那么以 j 结尾的答案 mp[pre[j]−k] 即可在 O(1) 时间内得到。
2025-02-15 16:19:35
913
原创 温度单位间转换公式
其中 F 表示华氏温度,C 表示摄氏温度。其中 F 表示华氏温度,C 表示摄氏温度。其中 K 表示开尔文温度,C 表示摄氏温度。其中 K 表示开尔文温度,C 表示摄氏温度。其中 K 表示开尔文温度,F 表示华氏温度。其中 K 表示开尔文温度,F 表示华氏温度。绝对零度就是开尔文为0时。
2024-06-20 21:16:45
3378
原创 C++文件操作基础1
可以使用 `>>` 运算符、`getline` 方法或 `read` 方法(用于二进制文件)。`ifstream`(input file stream):用于读取文件。可以使用 `<<` 运算符或 `write` 方法(用于二进制文件)。:可以指定打开文件的模式,如读模式、写模式、追加模式等。`ios::out`:写模式(默认用于 `ofstream`)。`ios::in`:读模式(默认用于 `ifstream`)。`fstream`(file stream):用于读写文件。使用 `close` 方法。
2024-06-20 19:47:28
179
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人