算法 解释器 表达式 语法
Python基础_01_MarkDown语法基础
MarkDown基础语法 [一]Typora (1)下载 官网:Typora 官方中文站 (typoraio.cn) 正版价格及介绍:89元/3台设备;89元三个设备码(重装系统设备码失效) 绿色版:网盘链接[ .\Typora\resources 文件夹下替换(app.asar)] (2)部分设置 ......
链表算法总结
知识概览 链表包括单链表和双链表,这里讨论算法题中的链表。为了考虑算法题中对于时间效率的要求,链表通常是用数组模拟成静态链表的形式,速度快。 单链表可以用来写邻接表(包括n个链表),邻接表可以存储树和图,最短路问题、最小生成树问题、最大流问题都可以用邻接表来存储。 双链表用来优化某些问题。 单链表 ......
文心一言 VS 讯飞星火 VS chatgpt (148)-- 算法导论12.2 3题
三、用go语言,写出过程 TREE-PREDECESSOR 的伪代码。 文心一言: 以下是使用Go语言编写的TREE-PREDECESSOR函数的伪代码: func TREE-PREDECESSOR(node) { if node.parent != nil { return node.parent ......
前缀和/差分——acwing算法基础课笔记
个人笔记,欢迎补充,指正。 一维前缀和 对于数组: a[1],a[2],a[3]...a[n]; 其前缀和数组为 s[i] = a[1] + a[2] + ... + a[i]; 下标必须从1开始 求前缀和 1 for(int i=1;i<n;++i) 2 s[i] = s[i-1] + a[i]; ......
【Linux 基础】正则表达式 与 通配符 区别
简短不看版: 通配符和正则表达式比较 (1)通配符和正则表达式看起来有点像,不能混淆。可以简单的理解为通配符只有*,?,[],{}这4种,而正则表达式复杂多了。 (2)*在通配符和正则表达式中有其不一样的地方,在通配符中*可以匹配任意的0个或多个字符,而在正则表达式中他是重复之前的一个或者多个字符, ......
代码随想录算法训练营第3天 | leetcode203、leetcode707、leetcode206
(本合集全部为Go语言实现) 相关文章链接:203题解 707题解 206题解 相关视频链接: Leetcode203 状态:秒了 实现过程中的难点:链表遍历一定要记得指针后移。另外,在头指针前加入一个新的临时头节点可以统一整个遍历过程,否则需要先确定初始时两指针的状态 个人写法 /** * Def ......
常用的正则表达式
validator: function(rule, value, callback) { if (/^1[3456789]\d{9}$/.test(value) false) { callback(new Error('手机号格式错误')) } else { callback() } }, vali ......
代码随想录算法训练营第2天 | leetcode977、leetcode209、leetcode59
(本合集全部为Go语言实现) 相关文章链接:977题解 209题解 59题解 相关视频链接:977视频 209视频 59视频 Leetcode977 状态:按自定义排序策略的方式秒了。尝试使用双指针法,但是以为是需要原地进行操作,试了一下失败了 实现过程中的难点:需要明确的是对撞指针两者的平法比较时 ......
KMP字符串匹配算法 整理
KMP 整理 题面 视频详解 KMP 的作用 KMP 算法的主要作用是求出一个字符串(模式串)是否为另一个字符串(主串)的子串,并同时求出它出现的位置,也即字符串匹配问题。 算法解析 暴力 先说暴力算法: 从头开始枚举模式串位置的起点,然后遍历从起点往后 \(m\) 个字符,检查它是否与模式串完全相 ......
代码随想录算法训练营第四天 | 24. 两两交换链表中的节点 19.删除链表的倒数第N个节点 142.环形链表II
LeetCode 24. 两两交换链表中的节点 题目链接: LeetCode 24 思路: 交换结点前将cur后第一个结点和第三个结点进行保存,然后修改cur指向头节点后再修改头节点后的结点 class Solution { public: ListNode* swapPairs(ListNode* ......
对于 markdown 语法中脚注使用的思考
Markdown 语法在很多编辑器中都被支持,但并非所有的都被支持,比如脚注在Notion中就没有对应的格式。 其实我并不觉得脚注是一个很好的格式,因为它写起来相对更加麻烦,不像 url 只需要一行 [alt](url), 还需要自己编tag名,并且不同平台下的语法还会略有区别。 但是的确会有一些情 ......
求最短路径迪杰斯特拉算法
代码运行截图: 完整代码: #include <stdio.h> #include <stdlib.h> #define MaxSize 20 #define MAX 999 typedef struct ArcNode{ //边表 int adjvex; //边表中是顶点号!! struct Ar ......
扩展欧几里得算法
同余方程 \(ax\equiv b(\mod m)\) 二元一次方程 \(ax+by=c\),其中\(a,b,c\)为已知的正整数 这两者可以相互转化,显然对于这个二元一次方程,有: \(ax\mod b=c \mod b\),可以转化为\(ax\equiv c(mod b)\) 裴蜀定理 当我们考 ......
C# 面试常见递归算法
前言 今天我们主要总结一下C#面试中常见递归算法。 C#递归算法计算阶乘的方法 一个正整数的阶乘(factorial)是所有小于及等于该数的正整数的积,并且0的阶乘为1。自然数n的阶乘写作n!。1808年,基斯顿·卡曼引进这个表示法。 原理:亦即n!=1×2×3×...×(n-1)×n。阶乘亦可以递 ......
【算法 Java】递归,阶乘的递归实现,斐波那契数列的递归实现
递归 定义:方法直接或间接地调用方法本身 思路:将大问题转化为一个与原问题相似的规模更小的问题 注意:递归死循环会导致栈内存溢出 一些使用递归求解的问题 阶乘 Factorial.java import java.util.Scanner; public class Factorial { publ ......
二分图最大匹配模板(匈牙利算法)
二分图最大匹配模板(匈牙利算法) P3386 【模板】二分图最大匹配 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) struct augment_path { vector<vector<int> > g; vector<int> pa; // 匹配 vector<int> pb ......
高斯混合模型:GMM和期望最大化算法的理论和代码实现
高斯混合模型(gmm)是将数据表示为高斯(正态)分布的混合的统计模型。这些模型可用于识别数据集中的组,并捕获数据分布的复杂、多模态结构。 gmm可用于各种机器学习应用,包括聚类、密度估计和模式识别。 在本文中,将首先探讨混合模型,重点是高斯混合模型及其基本原理。然后将研究如何使用一种称为期望最大化( ......
51k+ Star!动画图解、一键运行的数据结构与算法教程!
hello-algo(《Hello 算法》) —— 动画图解、一键运行的数据结构与算法教程,支持 Java、C++、 Python、 Go、 JS、 TS、 C#、 Swift、 Rust、 Dart、 Zig 等语言。 ......
Python正则表达式(小结)
1. 什么是正则表达式? 正则表达式(regular expression,有时简写为RegEx 或 regex)就是用一组由字母和符号组成的“表达式”来描述一个特征,然后去验证另一个“字符串”是否符合/匹配这个特征。 2.应用场景? (1)验证字符串是否符合指定特征,比如验证邮件地址是否符合特定要 ......
正则表达式手册
正则表达式教程:https://www.runoob.com/regexp/regexp-tutorial.html 正则表达式在线验证:http://c.runoob.com/front-end/854 1、同时包含大写字母、小写字母和数字;密码长度为6-32个字符; ^(?=.*[0-9].*) ......
acwing week2 基础算法3总结
acwing week2 基础算法3总结 总结点1:双指针算法 //常用模版框架 for (int i = 0, j = 0; i < n; i ++ ) { while (j < i && check(i, j)) j ++ ; } 常见问题分类: (1) 对于一个序列,用两个指针维护一段区间 ( ......
区间合并算法总结
区间合并使用贪心算法,对于区间问题,通常需要对左端点排序、右端点排序或者左端点和右端点双关键字排序。区间合并算法的算法步骤: 1. 按照区间左端点排序。 2. 扫描过程中,每次维护一个当前的区间。 题目链接: https://www.acwing.com/problem/content/805/ 代 ......
离散化算法总结
离散化是将大范围的数字映射到小范围的区间内,适用于稀疏的区间。 两个问题需要考虑: 1. 原数组中可能有重复元素,需要去重。 2. 如何算出离散化后的值(离散化后保序,使用二分)。 题目链接: https://www.acwing.com/problem/content/804/ 代码: #incl ......
《深度学习入门——自制框架》读书笔记 第二章 用自然的代码表达
2. 用自然的代码表达 step12 可变长参数(正向) 主要是解决多输入多输出问题 例如Add函数: class Add(Function): def forward(self, x0, x1): y = x0 + x1 return y def add(x0, x1): return Add() ......
Java 基础语法:语法、变量与运算
第一章:Java入门 第二章:基础语法、变量 一个 Java 程序可以认为是一系列对象的集合,而这些对象通过调用彼此的方法来协同工作。下面简要介绍下类、对象、方法和实例变量的概念。 对象:对象是类的一个实例,有状态和行为。例如,一条狗是一个对象,它的状态有:颜色、名字、品种;行为有:摇尾巴、叫、吃等 ......
递归下降语法分析程序
一、目的 通过设计、编制、调试一个递归下降语法分析程序,实现对词法分析程序所提供的单词序列进行语法检查和结构分析,掌握常用的语法分析方法。通过本实验,应达到以下目标: (1) 掌握从源程序文件中读取有效字符的方法和产生源程序的内部表示文件的方法。 (2)掌握语法分析的实现方法。 (3)上机调试编出的 ......
代码随想录算法训练营第三天 | 203.移除链表元素 707.设计链表 206.反转链表
LeetCode 203.移除链表元素 视频链接: LeetCode203 思路: 根据链表的性质,将目标值对应的节点保存在一个临时节点中,再重新设置cur下一个节点,再将临时节点进行删除 class Solution { public: ListNode* removeElements(ListN ......
Tomasulo算法小结
总结 L.D F6, 24(R2) L.D F2, 12(R3) MUL.D F0, F2, F4 SUB.D F8, F6, F2 DIV.D F10, F0, F6 ADD.D F6, F8, F2 以以上的代码为例,当指令MUL.D即将确认时,保留站、load缓冲器以及寄存器状态表中的内容。 ......