- 博客(23)
- 收藏
- 关注
原创 【深入理解KMP算法 —— 字符串匹配的高效利器】
KMP算法由Donald Knuth、Vaughan Pratt和James H. Morris于1977年共同提出。它的主要目标是提供一种高效的字符串匹配方法,通过预处理模式串(pattern),在匹配过程中避免了重复的比较,从而大幅提升效率。KMP算法的时间复杂度为O(n + m),其中n是文本串(text)的长度,m是模式串(pattern)的长度。相较于朴素的字符串匹配算法O(n * m)的时间复杂度,KMP算法显著提高了匹配效率。
2024-08-14 18:06:55
679
原创 快速上手Graphrag:安装、索引和查询指南
本文详细介绍了如何安装和配置 `graphrag`包括通过pip和源码安装的方法。在源码安装部分,具体演示了克隆源码、配置python环境以及使用poetry安装依赖。此外,详细介绍了如何使用豆包大模型,创建索引、执行局部搜索和全局搜索,以及通过Docker安装Neo4j以进行知识图谱的可视化展示。最后,介绍了如何根据特定领域自定义prompt,以便更好地适应不同的应用场景。
2024-07-26 19:04:11
1504
原创 代码实现对麻将的听牌分析(判断什么牌能胡)
emmmmm,好久没发文章了上次发还是在上次前几天面试,要求做一个类似麻将的游戏的听牌分析。简单说就是找到自己还差什么牌能够胡牌。
2022-08-23 17:05:58
2463
1
原创 【Python多线程编程——threading模块】—— Python多线程系列文章(二)
文章目录前言一、线程锁1.Lock锁2.RLock锁二、条件变量 Condition前言上一篇文章 threading模块简介传送门:https://blog.csdn.net/youngwyj/article/details/124720041线程同步是多线程中很重要的概念,当多个线程需要共享数据时,如果不使用线程同步,就会存在数据不同步的情况。要做到线程同步有两种方法,线程锁和条件变量Condition。一、线程锁1.Lock锁threading模块中Lock锁和_thread模
2022-05-18 11:08:30
426
1
原创 将自己的帅照上传到网上并生成链接方便调用
文章目录前言:注册并创建空间:代码调用:前言:因为最近写界面需要访问图片,将图片保存在本机我觉得不方便,于是就想着把图片上传到网上,通过链接去访问,便有了本文注册并创建空间:七牛云官网进行注册进行实名认证创建空间,可以免费用30天:记住这个外链域名,需要这个域名来访问图片点击右上角个人中心,获取AK,SK代码调用:我们可以直接使用pip命令下载七牛云的SDK。pip install qiniuimport uuidfrom qiniu import Auth, put_fi
2022-05-17 09:34:30
673
2
原创 【Python多线程编程——threading模块】—— Python多线程系列文章(一)
文章目录前言threading模块(一)简介(二)创建线程—start()方法(三)join()方法(四)setDaemon(bool)前言在日常的开发中经常会用到多线程和多进程编程,使用多线程编程可降低程序的复杂度,使程序更简洁高效。线程是程序执行流的最小单元,是进程的一个实体,一个进程可以拥有多个线程,多个线程可以共享进程所拥有的资源。线程可以提升程序的整体性能,一般分为内核线程和用户线程,内核线程由操作系统内核创建和撤销,用户线程不需要内核支持,是在用户程序中实现的线程。需要注意的是:线程
2022-05-12 08:30:00
2525
原创 Python数据库编程之pymysql详解
文章目录前言一、pymsql的安装二、连接数据库三、创建和管理数据库四、创建和管理表前言学习之前务必安装MySQL并已启动相关服务,MySQL安装方法及查看初始密码见文章第一部分:https://blog.csdn.net/youngwyj/article/details/124293362?spm=1001.2014.3001.5502一、pymsql的安装在python3的环境中直接使用以下命令即可:pip install pymsql#或者pip3 install pymysq
2022-05-11 13:26:19
46717
8
原创 京东智臻链开放联盟网络的快速部署调用
前言:最近要用区块链用于存证,然后看到京东智臻链开放联盟网络,就了解了一下,然后决定自己写代码来调用它来用于存证,免费还是挺香的。建议在阅读本文时先了解一下京东智臻链开放联盟网络。完成注册,登陆后就可以继续了。一、创建自己的第一个合约:建立子账户:合约管理 => 我的智能合约 => 点击创建 => 添加子业务账户选择密钥非托管,然后将密钥下载后保存后面调用需要用到。创建第一个智能合约:回到智能合约页面,在“我的智能合约”中点击“创建合约”。.
2022-04-25 01:50:28
645
2
原创 Python 调用 Java 代码的SDK(jar)
最近用python写代码,需要调用一个java写的SDK。具体调用如下:1.安装jpype:pip install jpype12.验证安装是否成功:from jpype import *import jpypejpype.startJVM(jpype.getDefaultJVMPath(), "-ea") # jpype.getdefaultjvm_path(),获取jvm的系统路径"""jpype.startJVM(),启动虚拟机* @param01:jvm为系统中jvm
2022-04-24 23:57:49
3116
2
原创 Linux下安装Mysql 8.0 + eclipse配置详细教程
安装MySql:我用的是Ubuntu20.04,所以直接使用以下命令进行安装:sudo apt-get install mysql-server 若其他可以先更新源:sudo apt-get update查看是否安装成功:systemctl status mysql启动mysql:sudo mysql //不用输入密码,也可以su进入超级用户直接使用mysql//或者mysql -u root -p //需要输入密码mysql会自动生成一个密码,查看方
2022-04-20 16:47:34
2262
原创 算法入门之动态规划(Python)【初级算法——动态规划】【力扣练习】【蓝桥杯练习】
文章目录一、爬楼梯(简单)二、买卖股票的最佳时机(简单)三、最大子序和(简单)四、打家劫舍(中等)一、爬楼梯(简单)题目:假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?示例 1:输入:n = 2输出:2解释:有两种方法可以爬到楼顶。1 阶 + 1 阶2 阶示例 2:输入:n = 3输出:3解释:有三种方法可以爬到楼顶。1 阶 + 1 阶 + 1 阶1 阶 + 2 阶2 阶 + 1 阶提示:1 <
2022-02-14 17:41:54
320
原创 算法入门之排序和搜索(Python)【初级算法——排序和搜索】【力扣练习】【蓝桥杯练习】
文章目录一:合并两个有序数组(简单)二、第一个错误的版本(简单)一:合并两个有序数组(简单)题目:给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2,另有两个整数 m 和 n ,分别表示 nums1 和 nums2 中的元素数目。请你 合并 nums2 到 nums1 中,使合并后的数组同样按 非递减顺序 排列。注意:最终,合并后数组不应由函数返回,而是存储在数组 nums1 中。为了应对这种情况,nums1 的初始长度为 m + n,其中前 m 个元素表示应合并的元素,后 n
2022-02-12 15:59:20
151
原创 算法入门之树(Python)【初级算法——树】【力扣练习】【蓝桥杯练习】
文章目录一、二叉树的最大深度(简单)二、验证二叉搜索树(中等)三、对称二叉树(简单)四、二叉树的层序遍历(中等)五、将有序数组转换为二叉搜索树(简单)一、二叉树的最大深度(简单)题目:给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。说明:叶子节点是指没有子节点的节点。示例:给定二叉树 [3,9,20,null,null,15,7],返回它的最大深度 3 。来源:力扣(LeetCode)链接:https://leetcode-cn.com/pr
2022-02-10 15:29:25
747
原创 算法入门之链表(Python)【初级算法——链表】【力扣练习】【蓝桥杯练习】
文章目录一、删除链表中的节点(简单)二、删除链表的倒数第N个节点(中等)三、反转链表(简单)四、合并两个有序链表(简单)五、回文链表(简单)六、环形链表(简单)一、删除链表中的节点(简单)题目:请编写一个函数,用于 删除单链表中某个特定节点 。在设计函数时需要注意,你无法访问链表的头节点 head ,只能直接访问要被删除的节点 。题目数据保证需要删除的节点不是末尾节点 。示例 1:输入:head = [4,5,1,9], node = 5输出:[4,1,9]解释:指定链表中值为 5 的第二
2022-02-08 14:42:51
1001
1
原创 算法入门之字符串(Python)【初级算法——字符串】【蓝桥杯练习】【力扣练习】
文章目录一、反转字符串(简单)二、整数反转(中等)三、字符串中的第一个唯一字符(简单)四、有效的字母异位词(简单)六、字符串转换整数(atoi)(中等)七、实现strStr()(简单)八、外观数列(中等)九、最长公共前缀(简单)一、反转字符串(简单)题目:编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 s 的形式给出。不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。示例 1:输入:s = [“h”,“e”,“l”,“l”,“o
2022-01-29 20:52:28
601
原创 一道看起来很简单的题,最后居然写成了代码屎山?【字符串转换整数 (atoi)】【力扣训练】【蓝桥杯训练】
文章目录前言题目(中等)分析代码前言这几天在力扣练题的时候,遇到了这样一道题,将一个字符串中的整数提取出来,看完题目我觉得是一道非常简单的题目,可是一提交,就会遇到各种特例,然后错误,于是就在代码上加参数,加条件语句,最后代码就写成了屎山。现在来复盘一下这道题。题目(中等)请你来实现一个 myAtoi(string s) 函数,使其能将字符串转换成一个 32 位有符号整数(类似 C/C++ 中的 atoi 函数)。函数 myAtoi(string s) 的算法如下:读入字符串并丢弃无用的前导空
2022-01-24 11:49:56
207
原创 【蓝桥杯训练】【力扣训练】【初级算法——数组】
文章目录一、删除排序数组中的重复项(简单)二、买卖股票的最佳时机(中等)三、旋转数组(中等)四、存在重复元素(简单)五、只出现一次的数字(简单)六、两个数组的交集(简单)七、加一(简单)八、移动零(简单)九、两数之和(简单)十、有效的数独(中等)十一、旋转图像(中等)一、删除排序数组中的重复项(简单)题目:给你一个有序数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空
2022-01-21 21:04:12
686
原创 【力扣训练】【蓝桥杯训练】 将字符串拆分为若干长度为 k 的组
题目要求字符串 s 可以按下述步骤划分为若干长度为 k 的组:第一组由字符串中的前 k 个字符组成,第二组由接下来的 k 个字符串组成,依此类推。每个字符都能够成为 某一个 组的一部分。对于最后一组,如果字符串剩下的字符 不足 k 个,需使用字符 fill 来补全这一组字符。注意,在去除最后一个组的填充字符 fill(如果存在的话)并按顺序连接所有的组后,所得到的字符串应该是 s 。给你一个字符串 s ,以及每组的长度 k 和一个用于填充的字符 fill ,按上述步骤处理之后,返回一个字符串
2022-01-19 14:08:00
420
原创 蓝桥杯 时间显示【第十二届】【省赛】【B组】
题目要求:资源限制时间限制:1.0s 内存限制:256.0MB【问题描述】小蓝要和朋友合作开发一个时间显示的网站。在服务器上,朋友已经获取了当前的时间,用一个整数表示,值为从 1970 年 1 月 1 日00:00:00 到当前时刻经过的毫秒数。现在,小蓝要在客户端显示出这个时间。小蓝不用显示出年月日,只需要显示出时分秒即可,毫秒也不用显示,直接舍去即可。给定一个用整数表示的时间,请将这个时间对应的时分秒输出。【输入格式】输...
2022-01-10 23:41:05
865
3
原创 蓝桥杯算法练习-YBH数数
题目要求:资源限制时间限制:1.0s 内存限制:256.0MB问题描述 YBH数学很差,她数数时分不清4,5和8;我们定义YBH[i]为YBH的计数法对应的i的值。 规定:YBH[4] = 5,YBH[5] = 8;YBH[i]运算规则如下: ① YBH[i+j] = YBH[i] + YBH[j] ② YBH[i*j] = YBH[i] * YBH[j] 我们会发现,用不同方法算出的YBH[i]的值是不同的,例如:当i=20时, YBH[20] = 5*YBH[4]
2022-01-05 20:38:38
1279
4
原创 蓝桥杯算法训练-拿金币
题目要求:资源限制时间限制:1.0s 内存限制:256.0MB问题描述 有一个N x N的方格,每一个格子都有一些金币,只要站在格子里就能拿到里面的金币。你站在最左上角的格子里,每次可以从一个格子走到它右边或下边的格子里。请问如何走才能拿到最多的金币。输入格式 第一行输入一个正整数n。 以下n行描述该方格。金币数保证是不超过1000的正整数。输出格式 最多能拿金币数量。样例输入31 3 32 2 23 1 2样例输出11数据规模和约定.
2021-12-28 16:28:53
2017
1
原创 Spark统计一座城市的男女人数,以及男女消费额的最高与最低
Spark统计一座城市的总人数,男女人数,总消费额,人均消费额,以及男女消费额的最高与最低
2021-12-27 11:12:28
2720
1
原创 Spark统计每天新增用户
Spark统计每日新增用户,sortByKey,reduceByKey,groupByKey,filter算子的一些运用。
2021-12-26 22:49:56
982
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人