- 博客(65)
- 收藏
- 关注
原创 【无标题】
怎么样才能过滤掉重复的数字呢,一种方式就是找出所有的组合结果,然后在这个结果中过滤掉重复的组合。除了上面说的一种解法还有一种方式就是我们常说的剪枝,因为要过滤掉重复的,只有重复的数字才会造成重复的结果。这两种剪枝方式都是可以的,一种是把整个大枝剪掉,一种是在每个大枝下面不停的剪小枝。差不多,不过这题有重复数字,前面讲的题没有重复数字。有重复的数字肯定就会有重复的组合,所以这题需要过滤掉重复的组合。来看下今天的算法题,这题是LeetCode的第47题:全排列 II,也是米哈游的一道面试题。
2024-04-21 21:25:07 469 3
原创 LeetCode【第2575题】
我们直接按照上面最后一个公式,根据当前整数的余数,计算出包含下一位字符所表示的整数的余数,如果余数为 0 ,则表示能被 m 整除。这题让计算前 i 个字符串表示的数字能否被 m 整除,能否整除直接求余即可,比如 a%b=0,就表示 a 能被 b 整除。:仅有 4 个前缀可以被 3 整除:"9"、"99"、"998244" 和 "9982443"。来看下今天的算法题,这题是LeetCode的第2575题:找出字符串的可整除数组。:仅有 2 个前缀可以被 10 整除:"10" 和 "1010"。
2024-04-21 21:22:02 376
原创 LeetCode [第491题]
为什么相同层级不能选择重复的数字,很好理解,因为每个数字都有选和不选两种状态,如果有相同的数字,当前面一个数字不选择的时候,这个结果和后面一个数字选择时候,他们的结果是一样的,出现了重复,我们只需要把后面这个剪掉即可,如下图所示。我们可以使用回溯算法,并且在同一层级,相同的数字只能选择一次,所以我们可以使用set集合来记录每层的节点,剪掉重复的分支。他们都是有重复的元素,但前面一题为了过滤掉重复的结果,需要先对数组进行排序,而这题是求子序列,所以不能排序。来源:LeetCode第491题。
2024-04-21 21:17:32 408
原创 指针全套知识
:指针是一种特殊类型的变量,用于存储内存地址。指针变量的定义形式为 `<数据类型> *<指针变量名>`。例如,`int *p;` 定义了一个整数类型的指针 `p`。2. **
2024-04-12 22:16:21 779
原创 计算机思维
1. 抽象和建模:将复杂的现实问题抽象为计算机可以处理的模型,通过定义对象、属性和关系来构建问题的逻辑结构。8. 并行处理和分布式计算:理解和应用并行处理和分布式系统的概念,以提高性能和处理大规模数据。5. 迭代和改进:采用迭代的方法,不断改进和完善解决方案,通过测试和反馈来提高质量。2. 算法和数据结构:了解和运用各种算法和数据结构,以高效地解决问题和处理数据。10. 创新和创造:运用计算机技术和思维方式来创造新的解决方案、产品和服务。
2024-04-09 18:04:37 240
原创 常见的数学模型
1. 线性模型:通过线性方程或线性回归等方法来描述变量之间的线性关系。3. 微分方程模型:描述系统中变量随时间或其他因素的变化。4. 博弈论模型:用于分析竞争或交互情况下的决策问题。10. 仿真模型:通过模拟实际系统的运行来分析和预测。12. 灰色系统模型:适用于信息不完全或不确定的情况。5. 优化模型:寻求在特定约束条件下的最优解。9. 统计模型:包括描述性统计和推断性统计等。6. 排队论模型:处理服务系统中的排队现象。8. 模糊数学模型:处理具有模糊性的问题。7. 图论模型:用于研究网络结构和关系。
2024-04-06 15:46:59 189
原创 数学思想论(有目录)
数学思想是数学发展过程中的重要指导原则,它涉及对数学概念、方法和理论的理解和认识,以及如何利用这些工具来解决实际问题。数学思想的形成和演进是随着数学的发展而逐渐深化的,它体现了人类对数学本质和应用的不断探索和思考。
2024-04-04 16:32:09 763
原创 数学证明【方法论,思想论】(有目录)
数学证明的方法论主要涉及到一系列严谨的逻辑推理和论证过程,旨在确立数学定理、命题或公式的真实性。通过利用已知的前提条件和逻辑推理方法,直接得出结论。这种方法是最直观和常见的,它要求从已知条件出发,通过一系列的逻辑推导,最终得到要证明的结论。假设命题的否定形式为真,然后推导出矛盾,从而证明原命题为真。这种方法特别适用于那些直接证明较为困难的情况。通过假设反例存在,并推导出与已知事实或公理相矛盾的结果,从而证明原命题的正确性。
2024-04-04 16:12:35 1813
原创 演绎推理【科学推理】(有目录)
演绎推理是集观察,实验,类比,联想,联想,经验归纳为一体的推理方法。1.性质判断推理(直接推理 和 三段论)特点是有一般到特殊,有分析,综合,化归等解题策略。正推是充分性, 反推是必要性。
2024-04-03 21:33:21 409
原创 线性表的插入
j--) //将第i个元素及之后的元素后移。if(L.length >= MaxSize) //当前存储空间已满,不能插入。if(i<1 || i>L.length+1) //判断i的范围是否有效。//用静态“数组”存放数据元素。//在第i个位置放入e。#define MaxSize 10 //定义最大长度。int length;//顺序表的当前长度。L.length++;//顺序表的类型定义。
2024-02-10 23:39:45 195
原创 最大期望算法(EM算法)
/EM算法是一种启发式的迭代算法,用于实现用样本对含有隐变量的模型的参数做极大似然估计。printf("%d 和 %d 的最大公因子是\n", m, n);//EM算法通过迭代逼近的方式用实际的值带入求解模型内部参数。//最大期望算法(EM算法)
2024-02-08 12:01:17 289
原创 牛顿法,也称为牛顿-拉弗森方法,是一种迭代逼近的数值计算方法,可用于求解方程的根。牛顿法也可以用来求平方根。
设要求解的数的平方根为x,则可以将问题转化为求方程f(x) = x^2 - n = 0的根,其中n为待求平方根的数。牛顿法,也称为牛顿-拉弗森方法,是一种迭代逼近的数值计算方法,可用于求解方程的根。牛顿法也可以用来求平方根。其中,x_k表示第k次迭代的近似解,f'(x_k)表示f(x)在x_k处的导数。对于求平方根的问题,可以令f(x) = x^2 - n,则f'(x) = 2x。3、重复步骤2直到收敛,即达到预定的精度要求。1、选择初始的近似解x_0。数形结合 设计斜率&导数。
2024-02-08 11:18:50 268
原创 动态规划C语言
printf("背包中能装的最大价值为:%d\n", knapsack(W, wt, val, n));// 填充 K()() 数组。// 遍历每一个物品和背包容量。
2024-02-06 22:09:48 1354
原创 c语言基础题指针数组
/通过数组索引访问方式,获取数组 a 中第二个元素的值赋给变量 b。//将数组 a 的地址加上 1 后强制转换为整型指针 p。&a 表示取数组 a 的地址。//通过指针偏移访问方式,先减去 1 再访问指针 p 所指向的内存地址的值,赋给变量 c。printf("b的结果%d\n",b);//数组a中下标为2的元素,即a[2]=3;printf("c的结果%d\n",c);printf("d的结果%d\n",d);//结果:b=3 c=5 d=0。
2024-02-06 15:38:34 164
原创 计算机操作系统教程张尧学第五版p69 eg3.1
/这个头文件包含了各种对 Unix 操作系统 API 的调用,例如fork()、execve()、pipe()等。//标准输入输出头文件 常见的有printf、scanf,fopen(用于打开文件并返回一个文件指针)、fread(用于从文件中读取数据)/*包含这两个头文件可以使你在代码中使用它们提供的函数和功能,以便进行更高级的操作,例如创建和管理进程、进行文件 I/O 操作等*///execve()函数是 Unix/Linux 操作系统中的一个系统调用,用于执行一个新的程序。// 等待子进程结束。
2024-02-06 14:31:35 478
原创 张尧学计算机操作系统第五版代码p34
while( ( count=read( in_fh,Buffer,sizeof(Buffer) ) )>0 )//这段代码进入一个循环,每次读取`SIZE`个字符到`Buffer`中,然后尝试将这些字符写入输出文件。//这段代码尝试以写入模式(`O_WRONLY`)创建并截断输出文件(`OCREAT|O_TRUNC`),并设置文件的用户读和写权限(`S_IRUSR|S_IWUSR`)。=count)//如果写入的字符数与读取的字符数不相等,会输出`Writing data`。/*此代码不完整不可运行*/
2024-02-06 12:21:17 256
原创 学生成绩管理系统升级版(c语言)
printf("| 姓名 | 学号 | 性别 | 语文 | 数学 | 英语 |计算机|总成绩|\n");if ((fp = fopen("student-list", "wb")) == NULL) //以二进制方式对文件进行读写。if ((fp = fopen("student-list", "rb")) == NULL) //以二进制方式读取文件。for (i = 0;if (i == student_number) //student_number为全局变量学生的人数。
2024-01-15 21:31:59 390 1
原创 c语言基础 题
/第二 次循环,m=1,f=-1。//第三 次循环,m=-2,f=1。//第四 次循环,m=2,f=-1。//第五 次循环,m=-3,f=1。//第六 次循环,m=3,f=-1。//第七 次循环,m=-4,f=1。//第八 次循环,m=4,f=-1。//第九 次循环,m=-5,f=1。//第十 次循环,m=5,f=-1。//第一(i)次循环,m=-1,f=1。//结果: m=5。
2024-01-15 21:14:38 365
原创 简单的学生成绩管理系统
printf("成绩:%.2f\n", students[i].score);printf("课程编号:%s\n", courses[i].code);printf("课程名称:%s\n", courses[i].name);printf("姓名:%s\n", students[i].name);printf("学号:%s\n", students[i].id);printf("\n 学生信息和成绩如下:\n");printf("请输入学生信息和成绩:\n");printf("请输入学生人数:");
2024-01-15 15:03:25 387
原创 判断正整数n是否为素数
/------方法2-----------------------------------------------printf(" 用时:%lf秒\n" ,((float)t)/CLOCKS_PER_SEC);//------方法1-----------------------------------------------printf(" 结果:2~%d的素数个数:%d\n",n,sum);printf(" 用时:%lf秒\n" ,((float)t)/CLOCKS_PER_SEC);
2024-01-15 13:36:34 522
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人