- 博客(43)
- 资源 (1)
- 收藏
- 关注
原创 栈和队列-逆波兰表达式求值
输入一个根据逆波兰表达式表示的四则运算表达式,输出计算结果。注意除法是向零取整。示例1:输入:tokens = [“2”,“1”,“+”,“3”,““]; 输出: 9示例2:输入:tokens = [“10”,“6”,“9”,“3”,”+“,”-11","”,“/”,“*”,“17”,“+”,“5”,“+”];输出:22时间复杂度:空间复杂度:
2024-01-31 21:19:51 382
原创 栈和队列-删除字符串中的所有相邻重复项
输入一个字符串,且定义一个操作,对字符串连续的两个字符,若其相等则去除这两个字符,对字符串进行任意次操作,直到无相同的两个相邻字符输出最后的字符串。示例1:输入:‘abccbas’; 输出:‘s’示例2:输入:‘acca’; 输出: ‘’时间复杂度:空间复杂度:
2024-01-31 20:36:19 574
原创 KMP- 简单的子串匹配
输入文本串haystack,和模式串needle,找到文本串中是否存在模式串,若存在输出第一次出现的位置,否则输出-1例子:输入:haystack=“hello”, needle = “ll”; 输出:2例子:输入:haystack=“hello”, needle = “aa”; 输出:-1时间复杂度:空间复杂度:暴力搜索KMP
2024-01-21 10:06:23 894
原创 多次翻转-右旋转字符串
空间复杂度:O(1) 或 O(n),取决于使用的语言中字符串类型的性质。如果字符串是可修改的,那么我们可以直接在原字符串上修改,空间复杂度为 O(1),否则需要使用 O(n) 的空间将字符串临时转换为可以修改的数据结构(例如数组),空间复杂度为 O(n)。正常建立一个新的空间先将字符串n-k位置之后字符串放进来,再放字符串开头到n-k位置的字符串。但有个方法可以不用申请过大的空间,即做三次反转,先反转整个字符串,再反转前k个字符,最后反转k后面的字符串。时间复杂度:O(n),其中 n是字符串 s 的长度。
2024-01-19 10:14:24 369
原创 K邻近和KNN
K邻近是一种分类算法,其思路是计算离该类别最近的K条数据的类别,来标记该数据的类别。• 其数据集只有特征值,使用的数据是杂乱无序的,经过聚类之后才会变得稍微有点顺序。• 其数据集是由特征值和目标值组成,使用的数据是已经标记过的数据。两者计算的过程,都包含在数据集中找离其最近的点,然后进行判断。• 里面的K值表示把这个样本点分到哪个类别的参考数据点。• KNN算法是一种懒惰算法,没有明显的前期训练过程。• k-means算法主要是用于解决无监督学习问题。• KNN算法主要是用于解决监督学习中的分类问题。
2024-01-13 17:17:51 347
原创 如何写好技术博客
摘要的目的是让读者发现这里是否有他关心的东西,并确认他是否需要读该文章。主要包括对研究目的、研究方法、研究结果和结论的简要描述。
2024-01-13 17:11:26 897
原创 快慢指针-19.删除链表倒数第n个节点
暴力解法:先遍历得到链表长度N,再从头遍历到N-n位置(假设最后一个结点位置是N)将其下一个结点链到其下下个节点上,输出头节点可以通过快慢指针的方式,将这两次遍历变成一次,即快指针领先慢指针n步,当快指针遍历到尾结点N时,慢指针恰好到N-n位置。
2024-01-13 16:51:58 383
原创 WordPiece和SentencePiece区别
BERT(Bidirectional Encoder Representations from Transformers)模型的分词器通常使用子词级别的分词方法,其中最常用的分词器包括 WordPiece 和 SentencePiece。这些分词器用于将文本分成子词(subwords)或标记(tokens),以满足BERT的输入要求。
2024-01-13 15:49:52 824
原创 Linux 安装docker 及docker-compose
记录了在Ubuntu和Centos下安装Docker及Docker-compose的方法。
2024-01-13 15:36:46 451
原创 先行断言和后行断言
之前写sql 时遇到一个问题,要匹配以房间号结尾的地址模式字符串,但是输入的数据中存在以路号结尾数据,单纯的采用’/d+号$',会匹配到路号或者楼号的模式。想到可以用正则中的先行断言和后行断言实现,故在这里对它们进行梳理,并记录实现时遇到的后行断言不支持变长的错误。PS: 先断言’路[0-9]+‘号,再匹配结尾号发现python中re模块后行断言不支持变长的断言。: look-behind requires fixed-width pattern“错误。
2024-01-13 15:35:45 548
原创 KMP算法
但是我们不能单纯的用i+j位置作为开头来和B匹配,因为可能存在k使得A[i+j-k: i+j]= B[:k], 若此时A[i+j]=B[k],那么有可能A[i+j-k: i+j-k+m] = B。由于j是A[i]开始不等于最早出现的位置,那么可知A[i+j-k: i+j]=B[j-k: j],所以k满足B[j-k: j]=B[:k], 所以只要找到中找到B串中j位置满足上式的最长k, 再去对比A[i+j]和B[k]就能避免上述情况发生。若k=0,那么比较的正是A[i+j]=B[0]。
2024-01-13 15:31:45 389
原创 文本分类的一些记录
其中文本分类是自然语言处理中最基础的任务,指的是将文本打上特定的类别标签,以做区分和筛选。文本分类主要流程一般是:先预处理文本,再提取特征,最后通过特征进行分类,或者直接采用深度学习的模型对处理好的文本进行分类。Weighted Average 与 Macro Average 类似,但在计算总体精确度和召回率时,它考虑了每个类别的权重,这个权重通常是类别的样本数量。这意味着 Micro Average 将所有类别视为一个大类别,所有的真阳性、假阳性和假阴性都汇总在一起,然后计算总体的精确度和召回率。
2024-01-13 15:29:30 1326
原创 记录centos7.9 离线安装fastllm 编译遇到的问题
参考: https://bitsanddragons.wordpress.com/2022/09/19/error-cmake-3-1-or-higher-is-required-you-are-running-version-on-centos-7-x/ 解决1:编译时添加 -DCMAKE_CUDA_ARCHITECTURES="70"参数,手动设置CMAKE_CUDA_ARCHITECTURES,centos7.9 安装fastllm 编译步骤。 解决2:安装openssl。
2024-01-13 15:24:41 578
原创 pip & conda 国内源配置
http://pypi.mirrors.ustc.edu.cn/simple/ 中国科学技术大学。https://pypi.tuna.tsinghua.edu.cn/simple 清华。http://mirrors.aliyun.com/pypi/simple/ 阿里。http://pypi.hustunique.com/simple/ 华中理工大学。http://pypi.sdutlinux.org/simple/ 山东理工大学。http://pypi.douban.com/simple/ 豆瓣。
2023-10-25 09:16:04 210
原创 PAT 1090 Highest Price in Supply Chain 超时修正
PAT 甲级1090 树深度问题+ python代码超时修改
2022-11-28 22:33:37 335
原创 python 装饰器
装饰器定义:装饰器其实就是一个以函数作为参数并返回一个替换函数的可执行函数,即装饰器是一个函数,它以函数作为参数,返回另一个函数。实例函数装饰器:若需要定制相关参数,可以再装饰器外再套一层装饰器def wrapper(func): def decorator(*args, **kwargs): # do something for func res = func(*args, **kwargs) # do something fo
2022-05-18 13:56:18 60
原创 Python代码规范
用VsCode写Python,代码提示代码规范方法1.配置flake8安装flake8之后写代码的时候编辑器就会提示哪里出错,代码格式不规范也会提示打开命令行输入 “pip install flake8”安装flake8成功后,打开VScode,文件->首选项->用户设置,在settings.json文件中输入"python.linting.flake8Enabled": true2.配置yapf安装yapf之后在VScode中按Alt+Shift+F即可自动格式化代码打开命
2022-05-18 10:55:57 161
原创 Docker 命令总结
docker 镜像使用docker images - 列出所有的镜像docker pull image_name:version - 获取一个新的镜像docker search ‘inquire’ 查询库中描述中相关的查询docker rmi ‘name/id’ 删除镜像docker tag id name 修改镜像标签docker 容器使用docker run - 运行荣幸docker exec - 进入未关闭的容器docker attach - 进入容器, 但从这个容器退出,会导
2022-05-18 10:47:58 68
原创 Windows下配置VS Code右键菜单
PS:转载,测试可用右键VSCode打开文件1, Win+R 打开运行,输入regedit,打开注册表,找到HKEY_CLASSES_ROOT*\shell分支,如果没有shell分支,则在*下点击右键,选择“新建-项”,建立shell分支。2, 在shell下新建“VisualCode”项,在右侧窗口的“默认”双击,在数据里输入“用VSCode打开”。这是右键上显示的文字,可以随便写,只是为了方便查看3, 在“VisualCode”下再新建Command项,在右侧窗口的“默认”键值栏内
2022-05-18 10:44:39 602
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人