自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(299)
  • 资源 (1)
  • 收藏
  • 关注

原创 图片增强组件实现

1.实现图片数据增强:包括多种方法,如:图片旋转,比例调整,高斯噪声,饱和度变换等;2.若图片为标注数据集,包含boundingbox的坐标,可同样对其进行变换,并保证圈选内容的不变性;3.实现多种方式random组合调用

2023-08-14 17:39:20 165

原创 python安装依赖导出

在导出python依赖时,发现的问题。

2022-10-24 14:35:07 875 1

原创 利用PicGo+Gitee配置图床

引言配置图床,方便我们的使用,比如,我们利用typora写的笔记,直接把发送给别人也可以正常使用,不再会有由于本地图片,而加载不出来图片的情况,此外,图片文件遗失亦可以正常加载出来,因为图片已上传;这里已 Typora+Gitee+PicGo为例进行配置安装PicGO下载链接Gitee仓库配置这里不做过多描述,不是难,相关教程也比较多。PicGo配置一般来说,下载gitee插件,进行配置即可,但是有的会出现403forbidden的情况,可以考虑使用github-plus插件下面分享

2022-04-25 12:56:14 669

原创 python爬虫 电商网站商品信息爬取

文章目录项目背景实现思路具体实现step1step1.1step1.2step2Reference项目背景需要获取京东的某一领域的商品信息数据,为后续项目推进做准备实现思路去获取每一个商品的数据首先需要去利用京东的搜索,利用关键字得到相关商品信息,由搜索结果去进行信息获取;这里以洗面奶商品举例:具体实现在搜索页面,我们关注的信息是每个商品的商品名称,商品价格,商品uid,商品备注,以及商品网址step1由观察可知,京东的搜索页面是动态加载的,数据会随着你的下拉而不断地加载出来,为了保

2022-01-09 22:53:01 12994 8

原创 pytorch模型 推理部分的实现

如何实现模型推理部分

2021-12-19 16:50:43 1956

原创 原地哈希解决查找数组缺失重复问题

引言有这样一类题型,他需要你在给定的数组中找到缺失的值或者重复的值,当然你可以利用HashSet来做,遍历数组,存储每个元素,然后根据题目要求,即可以得到正确的解,但这样做也有一个问题,导致其空间复杂度为O(n)O(n)O(n),能否有一种方法,使得其既能完成题目要求,同时只用常数级别的空间呢,确实有,就是原地哈希思想原地哈希的思想可以理解为:把原始的数组当做哈希表来使用,我们自己编写哈希函数来存储值,根据题目的不同,所设置的哈希函数也不同。下面我们直接以例题分析,从例题中明白其中思想。实例

2021-08-05 14:18:55 234

原创 python中 将json数据转化为excel表格

json数据格式这里我需要进行数据转换的json数据格式有亿点复杂,为了方便我后续的处理,我想把他转换成excel来观察,json数据如下所示:借助python代码查看后,得知json数据构成:2500组数据,以列表形式存储,列表中的每一个元素构成是大小为2的列表,一号位为字符串 title ‘SH603919_2017-08-03_1203757451’,代表文档名称,而2号位为字典,包含了具体存储元素 {},如果我需要生成excel,重点在于第二个元素。两种形式转换为excel一、直接写入到e

2021-07-27 16:16:33 13439

原创 代码的执行顺序问题(以剑指 Offer 52. 两个链表的第一个公共节点为例)

引言代码的执行顺序对执行结果起着近乎绝对性的作用,同样的代码,顺序的不同,让结果大相径庭。下面以剑指 Offer 52. 两个链表的第一个公共节点为例,来说明。并提醒自己要注重细节问题,理清逻辑思路,才能正确执行代码;具体实例剑指 Offer 52. 两个链表的第一个公共节点题目内容题意不难理解,就是找出两个链表的第一个公共节点,没有返回null即可;这道题有很多种做法:利用暴力算法,对A链表的每一个节点,都在B链上进行比较判断,看是否有相同,注意不是判断p.val==q.val,而是

2021-07-06 15:09:05 112 1

原创 python进入并使用虚拟环境

虚拟环境创建,已经有很多的教程,在此不进行过多的阐述,这里我们主要进行虚拟环境的运行及使用这里以我的项目为例,展示运行流程在你构建并配置好你的虚拟环境后,想要使用,首先得利用终端(可以利用pycharm编译器提供的terminal),进入到虚拟环境的路径下 ,此处我的venv路径是cd D:\研究生文件\软件系统\envir_for_login\Scripts在Scripts目录下输入activate命令D:\研究生文件\软件系统\envir_for_login\Scripts>.

2021-04-07 17:42:19 14449

原创 python实现:字典的合并(相同key的value相加)及字典的输出排序(各种意义下)

背景目前所做的一个项目,需要对数据进行处理,进行中的某一步即为要对生成的词频字典进行合并处理。且合并词频词典并非单纯的合在一起,而是需要将具有相同key的item项value进行相加实现相同key的item项value进行相加的词典合并#version 1.0def Merge(dict1, dict2): return(dict2.update(dict1))dict1={'a':2,'b':3}dict2={'a':3,'b':2}Merge(dict1,dict2)pr

2021-04-03 17:25:15 11892

原创 python实现:生成指定元素个数的子集

背景目前所做的一个项目,需要进行数据的预处理,具体内容为对一句话进行分词,将分词的结果,进行组合,进而生成短语。将需求抽象成问题,即为对某个集合生成子集,但略微有所不同,因为分词的结果,数量可能很大,利用生成子集个数的计算公式X=2nX=2^nX=2n可知,当n很大时,子集个数成指数级增长,且根据我的实际需求,词组一般由1~3个词语组成,因此我们的问题变为了生成指定元素个数的子集问题对一个集合,生成指定元素个数的子集Example[1,2,3,4,5] 生成元素个数为3的集合=>34

2021-03-24 21:15:04 1691 5

原创 凸包求解三种实现

定理依赖:如果一个点在平面上某三个点组成的三角形内,那么这个点不可能是凸包上的点需要的基本知识叉积的计算:a(x1,y1) b(x2,y2)=> axb=x1y2-x2y1转换到代码中即为ABxAC=(B[0]-A[0])*(C[1]-A[1])-(C[0]-A[0])*(B[1]-A[1])利用叉乘判断M是否在三角形ABC中:若M在ABC中,则MA X MB,MB X MC,MC X MA此三组的向量叉乘的结果都是同号的(或都正,或都负),即方向相同的,则说明点M在三角形每.

2021-03-20 10:57:34 472

原创 由206. 反转链表反映的细节问题

题目链接206. 反转链表题目解析这道题并不是很难,这里只阐释再利用递归完成时的一个细节问题。//1.0 versionclass Solution { public ListNode reverseList(ListNode head) { if(head.next==null) return head; ListNode temp=reverseList(head.next); head.next.next=head; h

2021-03-15 09:39:35 72

原创 vue去除url中的#

前言在学习vue相关知识后,发现构建url在设立路由时,会自带一个#,我想把url设置成普通网页一样没有url效果即如图所示:产生原因vue-router默认使用hash模式,所以在路由加载的时候,项目中的url会自带#解决方法使用vue-router的另一种模式history//index.jsimport Vue from 'vue'import Router from 'vue-router'import Login from '../views/Login'//安装路

2021-03-07 09:29:32 1422

原创 解决 vue init webpack myproject 初始化项目慢的问题

Solution事先准备好npm的淘宝镜像源cnpm利用cnpm install webpack下载后对应的依赖再利用vue init webpack projectname生成项目即可提高配置速度

2021-03-06 20:58:47 770

原创 ArrayList and LinkedList知识补充

List是接口,ArrayList是List的实现类。原因至于为什么是写成List list = new ArrayList()而不是ArrayList arrayList = new ArrayList()原因如下:接口有什么好处,这种定义方式就有什么好处,当然你可以用 ArrayList list = new ArrayList(),但是一般不这么用设计模式中有对依赖倒置原则。程序要尽量依赖于抽象,不依赖于具体。从Java语法上,这种方式是使用接口引用指向具体实现。比如,你若希望用.

2021-02-26 14:09:16 258

原创 Leetcode 697. 数组的度 以及衍生的静态数组和哈希表的何时使用

题目链接题目理解:初看题意很难理解,但结合实例即可明白所表达意思。我们所要做的即统计出数组中每个元素的频度,得到频度最大的元素,然后找包含这个元素的子数组中长度最短的,很容易知道以这个重复元素为头尾的既是最短的,注意频度最大的元素可能不唯一,所以我们要比较找出对应长度最短的子数组。具体解法:哈希表每一个数映射到一个长度为 33 的数组,数组中的三个元素分别代表这个数出现的次数、这个数在原数组中第一次出现的位置和这个数在原数组中最后一次出现的位置。当我们记录完所有信息后,我们需要遍历该哈希表,

2021-02-20 13:28:07 124

原创 LeetCode 995. K 连续位的最小翻转次数

题目链接思路直接模拟是会产生超时的,所以我们使用队列模拟滑动窗口,该滑动窗口的含义是前面 K - 1 个元素中,以哪些位置起始的 子区间进行了翻转。该滑动窗口从左向右滑动,如果当前位置 i 需要翻转,则把该位置存储到队列中。遍历到新位置 j (j < i + K)时,队列中元素的个数代表了 i 被前面 K - 1 个元素翻转的次数。当 i 位置被翻转了偶数次,如果 A[i] 为 0,那么翻转后仍是 0,当前元素需要翻转;当 i 位置被翻转了奇数次,如果 A[i] 为 1,那么翻转后是 0,当

2021-02-18 10:46:53 88

原创 滑动窗口模板+实际例题使用

窗口模板具体代码def findSubArray(nums): N = len(nums) # 数组/字符串长度 left, right = 0, 0 # 双指针,表示当前遍历的区间[left, right],闭区间 sums = 0 # 用于统计 子数组/子区间 是否有效,根据题目可能会改成求和/计数 res = 0 # 保存最大的满足题目要求的 子数组/子串 长度 while right < N: # 当右边的指针没有搜索到 数组/字符串 的结尾

2021-02-07 14:28:48 242

原创 graphviz安装以及python使用

在安装Graphviz时,花费了大量的精力才安装上,这里记录下自己安装流程,以备不时之需,另一方面也希望能帮助上有需要的人为什么python安装好Graphviz直接使用对于 Python 而言,也有一个 Graphviz 库与该工具对应,使用 Graphviz 库可以使用 Python 的语法生成 dot 语言绘图脚本,并调用 Graphviz 工具生成图片并保存。但是由于 Graphviz 库并不是独立工作的库,它需要连接 Graphviz 工具来联合工作,也就是说当你需要使用 Graphviz.

2021-01-05 13:05:23 2128

原创 力扣605. 种花问题

题目链接题目不是难题,但是需要注意一些细节代码如下:思路:即每次可以种花的位置为初始为0,or末尾为0,or临近点为0的位置//即每次可以种花的位置为初始为0,or末尾为0,or临近点为0的位置class Solution { public boolean canPlaceFlowers(int[] flowerbed, int n) { int i=0,count=0; int x= flowerbed.length; while(i<

2021-01-01 22:31:42 128

原创 单调栈学习与使用(附有相关具体题目实现)

单调栈实际上仍然是栈,只是利用了一些巧妙的逻辑,使得每次新元素入栈后,栈内的元素都保持有序(单调递增或单调递减)。什么时候使用注:不必细究是单调调递增栈,还是单调递减栈;实际使用根据情况进行变换即可;注2:JAVA使用ArrayDeque比LinkedList效率更好,速度比后者快只处理一种典型的问题,叫做 Next Greater Element。通常是一维数组,要寻找任一元素右边(左边)第一个比自己大(小)的元素且要求 O(n) 的时间复杂度什么是Next Greater Elem.

2020-12-27 12:59:36 258

原创 DFS遍历框架解决岛屿问题

补充在开头这篇题解,是我在做leetcode无意中看到的,原po将此类问题解释的非常清晰,故将其转载并添加上对应题目的解题代码,仅用做个人的学习笔记,不做任何商业用途;引言我们所熟悉的 DFS(深度优先搜索)问题通常是在树或者图结构上进行的。而我们今天要讨论的 DFS 问题,是在一种「网格」结构中进行的。岛屿问题是这类网格 DFS 问题的典型代表。网格结构遍历起来要比二叉树复杂一些,如果没有掌握一定的方法,DFS 代码容易写得冗长繁杂。本文将以岛屿问题为例,展示网格类问题 DFS 通用思路,以及如

2020-12-26 10:57:12 442

原创 leetcode-10正则表达式匹配

题目链接动态规划:dp定义:*dp[i][j]*表示s的前i个字符是否能与p的前j个字符匹配;base case:dp[0][0]=true;s和p都为空时,匹配一定成功;(即字符串是从1开始,空串情况dp[0][0]作为基准点)状态转移方程:p[j - 1]为普通字符,若s[i - 1] == p[j - 1],则dp[i][j] = dp[i - 1][j - 1],否则匹配失败;p[j−1]为’.’,则dp[i][j] = dp[i - 1][j - 1];p[j−1]为’*’:(1

2020-12-13 12:27:06 77

原创 jieba分词的三种模式

jieba分词的三种模式#测试jieba 分词三种模式的区别seg_list = jieba.cut_for_search("小明硕士毕业于中国科学院计算所,后在日本京都大学深造") # 搜索引擎模式print(", ".join(seg_list))#小明, 硕士, 毕业, 于, 中国, 科学, 学院, 科学院, 中国科学院, 计算, 计算所, ,, 后, 在, 日本, 京都, 大学, 日本京都大学, 深造print("---------------------------")seg_

2020-12-10 17:08:34 2715

原创 python实现把同名文件放入对应的文件夹内

之前在爬取数据时,把文档和图片分别存放了,放在同名的文本txt以及同名文件夹下,现在想实现把同名文本文档放在同名文件夹下的功能(已测试,针对一般的命名的都可正常进行,而对于包含特殊字符可能还有些问题,有待进一步的优化)需要使用的库import osimport shutil工作路径的更改filepath=r'E:\\fashioninfo\\'#你指定的文件存放路径curdir=os.getcwd()print("当前工作目录为{}".format(curdir))os.chdir.

2020-12-04 18:33:11 3643

原创 用cmd获取指定文件夹下文件/目录的数目

cmd命令行查看指定文件夹下文件数目:仅统计文件数量dir /b /a-d | find /v /c “&#@”统计文件和目录总数量dir /b | find /v /c “&#@”

2020-12-04 16:46:29 5041

原创 红黑树学习(一)

红黑树是平衡二叉查找树的一种。为了深入理解红黑树,我们需要从二叉查找树开始讲起。BST二叉查找树(Binary Search Tree,简称BST)是一棵二叉树,它的左子节点的值比父节点的值要小,右节点的值要比父节点的值大。它的高度决定了它的查找效率。在理想的情况下,二叉查找树增删查改的时间复杂度为O(logN)(其中N为节点数),最坏的情况下为O(N)。当它的高度为logN+1时,我们就说二叉查找树是平衡的。BST的查找操作T key = a search keyNode root.

2020-11-20 21:12:24 203

原创 两个字符串的最小ASCII删除和

题目内容题目要求:给定两个字符串s1, s2,找到使两个字符串相等所需删除字符的ASCII值的最小和。解题思路解题思路:此题为为最长公共子序列的变形定义:s1[0..i-1] 和 s2[0..j-1]的最小ascii码删除和dp[i][j]目标:s1[0..m-1] 和 s2[0..n-1] 的最小ascii码删除和,即 dp[m][n]base case: dp[0][..] 对应的(有长度的)字符串ascii码的和,因为如果一个字符串为空,另一个字符串必然要被全部删除,所以需要计算另

2020-11-19 15:01:18 635

原创 Java Collections Framework(Java集合框架)学习(四)

前篇链接ArrayDeque前言Java里有一个叫做Stack的类,却没有叫做Queue的类(它是个接口名字)。当需要使用栈时,Java已不推荐使用Stack,而是推荐使用更高效的ArrayDeque;既然Queue只是一个接口,当需要使用队列时也就首选ArrayDeque了(次选是LinkedList)。总体介绍要讲栈和队列,首先要讲Deque接口。Deque的含义是“double ended queue”,即双端队列,它既可以当作栈使用,也可以当作队列使用。下表列出了Deque与Queue相对

2020-11-17 15:33:28 61

原创 Java中arraycopy()方法参数解析

public static native void arraycopy(Object src, int srcPos, Object dest, int destPos,int length);参数: src:要复制的数组(源数组) srcPos:复制源数组的起始位置 dest:目标数组 destPos:目标数组的下标位置 length:要复制的长度实例:String[] arr = {"A","B","C","D","E","F"}; Syste

2020-11-17 15:26:33 911

原创 JavaScript中const,var,let区别

const定义的变量不可以修改,而且必须初始化。 const b = 2;//正确 // const b;//错误,必须初始化 console.log('函数外const定义b:' + b);//有输出值 // b = 5; // console.log('函数外修改const定义b:' + b);//无法输出 var定义的变量可以修改,如果不初始化会输出undefined,不会报错。var a = 1;// var a;//不会报错console.log('函数外var定义a.

2020-11-16 22:43:49 52

原创 Java Collections Framework(Java集合框架)学习(三)

前篇链接LinkedList总体介绍LinkedList同时实现了List接口和Deque接口,也就是说它既可以看作一个顺序容器,又可以看作一个队列(Queue),同时又可以看作一个栈(Stack)。这样看来,LinkedList简直就是个全能冠军。当你需要使用栈或者队列时,可以考虑使用LinkedList,一方面是因为Java官方已经声明不建议使用Stack类,更遗憾的是,Java里根本没有一个叫做Queue的类(它是个接口名字)。关于栈或队列,现在的首选是ArrayDeque,它有着比Linked

2020-11-15 17:18:14 65

原创 Java Collections Framework(Java集合框架)学习(二)

前篇链接ArrayList总体介绍ArrayList实现了List接口,是顺序容器,即元素存放的数据与放进去的顺序相同,允许放入null元素,底层通过数组实现。除该类未实现同步外,其余跟Vector大致相同。每个ArrayList都有一个容量(capacity),表示底层数组的实际大小,容器内存储元素的个数不能多于当前容量。当向容器中添加元素时,如果容量不足,容器会自动增大底层数组的大小。前面已经提过,Java泛型只是编译器提供的语法糖,所以这里的数组是一个Object数组,以便能够容纳任何类型的对象

2020-11-15 16:29:26 58

原创 Java Collections Framework(Java集合框架)学习(一)

学习借鉴Q:为什么不用数组反而用Java集合。数组和Java集合有什么区别?A:Java是一门面向对象的语言,就免不了处理对象,为了方便操作多个对象,那么我们就得把这多个对象存储起来,想要存储多个对象(变量),很容易就能想到一个容器(集合)来装载总的来说:就是Java给我们提供了工具方便我们去操作多个Java对象。Q:如何学习?A:知道Java集合的基本用法,以及从它整体的知识点去了解它是什么;我们学习Java集合实际上就是为了方便操作多个对象,而Java给我们提供一系列的API(方法)

2020-11-13 23:04:59 246

原创 python爬虫爬取新浪网站新闻内容

我们以爬取sina时尚模块为例准备工作为进行爬虫爬取工作,我们需要进行相关库的准备以及对网页设置布局的了解相关库的准备import osimport reimport urllibfrom bs4 import BeautifulSoupfrom lxml import etreeimport jsonimport requests网页布局的信息获取我们进入sina时尚板块,选取一则时尚新闻,进入相关网页,我们利用chrome浏览器来进行右键检查,观察新闻的文档内容以及图.

2020-11-13 19:42:43 5190 10

原创 python爬虫爬取到的网址和文档带有多余的反斜杠的处理

在利用python爬取数据时,遇到了以下两个问题,爬取到的url以及文档带有多余的转义字符反斜杠具体情况如下:网址:'http:\\/\\/slide.fashion.sina.com.cn\\/s\\/slide_24_84625_138650.html', 'https:\\/\\/fashion.sina.com.cn\\/s\\/fo\\/2020-11-13\\/1051\\/doc-iiznctke1091604.shtml'文档内容:'\\u674e\\u5b87\\u6625\\u7

2020-11-13 11:41:44 2440

原创 python爬虫中需注意user-agent的使用

今天在爬取一些关于时尚的数据的时候,出现了一个难以解决的问题,即我正确的写出了所爬取信息的xpath路径,利用chrome的插件也能得出我想要的数据,但在实际运行时无法得到所需信息。具体情况如下图所示:多次验证后也无法得到所需结果,甚至还用了BeautifulSoup来试图解决,也并没有成功。只得重新一点点检查,并且与之前写的文件进行对比,并进行了多次对照试验(笑),最终确定了问题出现在了user-agent上,之前选取的样式如下:'User-Agent': 'Mozilla/5.0 (Linux

2020-11-12 20:51:40 1349

原创 Javascript实现表格全选

具体实现代码如下:<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <style> table{

2020-11-09 22:09:08 731

原创 JavaScript个人学习笔记 (七)

**事件监听机制(事件)**概念:某些组件被执行了某些操作后,触发了代码的执行。事件:某些操作 如:单击,双击,键盘按下了,鼠标移动了事件源(事件发生的源头):组件 如:按钮,文本输入框。。。监听器:代码注册监听:将事件,事件源,监听器结合在一起,当事件源上发生了某个事件,则触发了某个监听器代码常见的事件:1.点击事件: 1.onclick:单击事件 2.ondbclick:双击事件2.焦点事件: 1.onblur:失去焦点 一般用于表单验证 2.onfocus:元素获得焦点3.

2020-11-09 21:00:50 68

java实际项目案例---网上商城系统(控制台版)

java简单项目设计 使用控制台作为用户交互界面,实现用户进入购物网站后从首页到最终下单支付的流程的一系列动作

2020-10-12

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除