- 博客(163)
- 资源 (1)
- 收藏
- 关注
原创 数据可视化-唐诗分析器项目分析+实现+测试+部署
目录一、唐诗项目概述1、项目简介2、设计思想2.1、数据爬取模块2.2 可视化展示模块3、核心技术二、数据爬取模块1、技术选型1.1 爬虫技术 htmlunit1.3 JDBC 操作数据库 MySQL1.4 项目管理工具 maven2、用法调研2.1 请求解析列表页 HtmlUnitDemo2.2 请求解析详情页 XPathDemo2.3 sha256 算法去重2.4 计算分词2.5 存入数据库3、整体代码3.1单线程版本3.2
2020-09-09 16:34:20
3621
1
原创 【算法】动态规划与那些绕不清的题目们
DP定义:动态规划是分治思想的延伸,通俗一点来说就是大事化小,小事化无的艺术。在将大问题化解为小问题的分支过程中,保存对这些小问题已经处理好的结果,并供后面处理更大规模的问题时直接使用这些结果。动态规划的特点:把原来的问题分解成了几个相似的子问题 所有的子问题都只需要解决一次 储存子问题的解动态规划的本质,是对问题状态的定义和状态转移方程的定义(状态与状态之间的递推关系),动规一般都需要和数组搭配使用来保存中间结果。动态规划问题一般从以下四个角度考虑:状态定义(子问题) 状态间...
2020-09-03 08:51:14
267
原创 JVM、GC、类加载、想了解的都在这里!
定义:指通过软件模拟的具有完整硬件功能的、运行在一个完全隔离的环境中的完整计算机系统。一、JVM内存管理线程私有区域:程序计数器、Java虚拟机栈、本地方法栈(与线程生命周期一致)线程共享区域:Java堆、方法区、运行时常量池1、程序计数器程序计数器是一块比较小的内存空间,可以看做是当前线程所执行的字节码的行号指示器。如果当前线程正在执行的是一个Java方法,这个计数器记录的是正在执行的虚拟机字节码指令的地址;如果正在执行的是一个本地方法,这个计数器值为空。程序计数器
2020-08-31 14:41:26
744
原创 【自动化测试】想了解Selenium吗?看这里!
目录一、自动化测试基础1.1、什么是自动化测试1.2、自动化测试工具与方法1.3、自动化测试优势1.4、如何实施自动化测试二、selenium 介绍与环境搭建2.1 selenium 基本介绍2.2 selenium 工具集2.3 使用 selenium IDE 录制脚本2.4 selenium + python 环境搭建三、selenium API 讲解3.1 元素的定位3.2 操作测试对象3.3添加等待3.4 打印信息3.5 浏览器的操作
2020-08-10 20:03:46
1266
原创 测试工具-禅道的下载安装
下载地址,推荐使用一键安装包,下载到某个根目录,如C盘、D盘:https://www.zentao.net/download/zentaopms.biz3.7.2-80245.html安装步骤:https://www.zentao.net/book/zentaobizhelp/280.html简单总结:1、下载到D:\ 后文件为ZenTaoPMS.biz4.0.win64.exe,双击后解压自动解压到D:\xampp,在 xampp 目录下找到 start.exe,双击运行时,如果电脑没..
2020-08-05 14:09:15
446
原创 【网络原理】TCP/IP 协议—— 传输层(三)三次握手与四次挥手
连接管理机制 - TCP 的可靠性为基础在正常情况下,TCP要经过三次握手建立连接,四次挥手断开连接。面试题:(1)为什么需要 TCP 连接? 因为这套机制是以不同五元组描述的通道分别管理的。(2)什么是连接(Connection)?抽象层面上:五元组唯一标识的一条通信通道。OS 层面上:一个 Connection 对象,描述五元组信息 + 各种管理信息(SN/ASN + ...
2020-02-14 19:30:16
421
1
原创 【网络原理】TCP/IP 协议—— 传输层(二)TCP协议
TCP (Transmission Control Protocol)传输控制协议(重点)一、特点:有连接 面向流 可靠性:数据保证正确 —— 校验和 作为一个发送方,希望知道接受方是否收到数据 —— 确认应答(SN/ASN/ACK) 保证接收方的数据是按序收到的 —— TCP 利用 SN 在接收方做排序 接收方可以去重数据 —— SN二、TCP 协议段格式1、...
2020-02-14 15:49:30
319
原创 【网络原理】TCP/IP 协议—— 传输层(一)端口号与UDP协议
传输层:端到端(endpoint to endpoint)一、再谈 地址(IP) + 端口(port)1、在网络上(先不考虑私网):IP 的作用是唯一标识一台主机,主机拥有唯一的一个 IP 地址,主机也可以拥有多个 IP 地址。 Port 的作用标识主机上的唯一一个进程,一个进程可以拥有多个 port,而一个 port 只能属于一个进程。 IP + port :可以标识网络上的一台...
2020-02-14 15:28:10
1491
原创 【软件测试】 分类
一、按开发阶段划分二、按是否查看代码三、按测试对象划分一、按开发阶段划分测试金字塔与业务测试分析:UI层:人员多,投入产出比低。Server层:客户端模拟测试:三个模块:注册(前置/驱动模块) —— 登录 —— 发信息(后置/桩模块)。当登录模块先完成,可以进行模拟测试,模拟简单注册功能,然后进行自测。内外接口测试:如两个项目之间需要接口,称为项目内部叫...
2020-02-12 21:17:46
568
原创 LeetCode199.二叉树的右视图
题目描述:给定一棵二叉树,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。示例:输入:[1,2,3,null,5,null,4]输出:[1, 3, 4]解释: 1 <---/ \2 3 <---\ \ 5 4 <---/** * D...
2020-02-10 22:31:22
148
原创 【软件测试 】用例篇
一、测试用例的基本要素二、测试用例的设计方法总体设计方法:基于需求的设计具体的设计方法一、等价类二、边界值三、因果图四、正交排列表五、场景设计法六、错误猜测法三、测试用例的粒度和评价测试用例的粒度测试用例的评价(如何确保测试用例的正确性)一、测试用例的基本要素测试用例(Test Case)是为了实施测试而向被测试的系统...
2020-02-10 21:32:53
523
原创 LeetCode581.最短无序连续子数组
题目描述:给定一个整数数组,你需要寻找一个连续的子数组,如果对这个子数组进行升序排序,那么整个数组都会变为升序排序。你找到的子数组应是最短的,请输出它的长度。示例 :输入: [2, 6, 4, 8, 10, 9, 15]输出: 5解释: 你只需要对 [6, 4, 8, 10, 9] 进行升序排序,那么整个表都会变为升序排序。说明 :输入的数组长度范围在[1, 10,000...
2020-02-04 20:29:58
253
原创 150.逆波兰表达式求值
题目描述:根据逆波兰表示法,求表达式的值。有效的运算符包括+,-,*,/。每个运算对象可以是整数,也可以是另一个逆波兰表达式。说明:整数除法只保留整数部分。给定逆波兰表达式总是有效的。换句话说,表达式总会得出有效数值且不存在除数为 0 的情况。示例1:输入: ["2", "1", "+", "3", "*"]输出: 9解释: ((2 + 1) * 3) = 9示...
2020-02-04 19:49:24
187
转载 34.在排序数组中查找元素的第一个和最后一个位置
题目描述:给定一个按照升序排列的整数数组 nums,和一个目标值 target。找出给定目标值在数组中的开始位置和结束位置。你的算法时间复杂度必须是O(log n) 级别。如果数组中不存在目标值,返回[-1, -1]。示例 1:输入: nums = [5,7,7,8,8,10], target = 8输出: [3,4]示例2:输入: nums = [5,7,7,8,8...
2020-02-04 18:25:12
205
原创 443.压缩字符串
题目描述:给定一组字符,使用原地算法将其压缩。压缩后的长度必须始终小于或等于原数组长度。数组的每个元素应该是长度为 1的字符(不是 int 整数类型)。在完成原地修改输入数组后,返回数组的新长度。示例 1:输入:["a","a","b","b","c","c","c"]输出:返回6,输入数组的前6个字符应该是:["a","2","b","2","c","3"]示例 2:...
2020-02-03 12:17:46
172
原创 LeetCode 925.长键按入
题目描述:你的朋友正在使用键盘输入他的名字name。偶尔,在键入字符c时,按键可能会被长按,而字符可能被输入 1 次或多次。你将会检查键盘输入的字符typed。如果它对应的可能是你的朋友的名字(其中一些字符可能被长按),那么就返回True。示例 1:输入:name = "alex", typed = "aaleex"输出:true解释:'alex' 中的 'a' 和 'e'...
2020-02-02 21:01:47
139
原创 67.二进制求和
题目描述:给定两个二进制字符串,返回他们的和(用二进制表示)。输入为非空字符串且只包含数字1和0。示例1:输入: a = "11", b = "1"输出: "100"示例2:输入: a = "1010", b = "1011"输出: "10101"解析:和平时的十进制加法一样,从两个字符串的末尾开始相加,如果有进位就标记起来,则该位的值应再加上进位位...
2020-02-02 16:05:50
302
原创 8.字符串转换整数
题目描述:请你来实现一个atoi函数,使其能将字符串转换成整数。丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止。 当我们寻找到的第一个非空字符为正或者负号时,则将该符号与之后面尽可能多的连续数字组合起来,作为该整数的正负号;假如第一个非空字符是数字,则直接将其与之后连续的数字字符组合起来,形成整数。 该字符串除了有效的整数部分之后也可能会存在多余的字符,这些字符可以被忽略,...
2020-02-02 15:07:33
150
原创 88.合并两个有序数组
题目描述:给定两个有序整数数组nums1 和 nums2,将 nums2 合并到nums1中,使得num1 成为一个有序数组。说明:初始化nums1 和 nums2 的元素数量分别为m 和 n。你可以假设nums1有足够的空间(空间大小大于或等于m + n)来保存 nums2 中的元素。输入:nums1 = [1,2,3,0,0,0], m = 3nums2 = [...
2020-01-31 21:26:53
103
原创 27.移除元素
题目描述:给定一个数组 nums和一个值 val,你需要原地移除所有数值等于val的元素,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。示例 1:给定 nums = [3,2,2,3], val = 3,函数应该返回新的长度 2, 并且 nums 中的前两...
2020-01-31 12:05:15
134
原创 414.第三大的数
题目描述:给定一个非空数组,返回此数组中第三大的数。如果不存在,则返回数组中最大的数。要求算法时间复杂度必须是O(n)。示例 1:输入: [3, 2, 1] 输出: 1示例 2:输入: [1, 2] 输出: 2 解释: 第三大的数不存在, 所以返回最大的数 2 .示例 3:输入: [2, 2, 3, 1] 输出: 1 ...
2020-01-24 14:33:04
306
原创 724.寻找数组的中心索引
题目描述:给定一个整数类型的数组nums,请编写一个能够返回数组“中心索引”的方法。我们是这样定义数组中心索引的:数组中心索引的左侧所有元素相加的和等于右侧所有元素相加的和。如果数组不存在中心索引,那么我们应该返回 -1。如果数组有多个中心索引,那么我们应该返回最靠近左边的那一个。示例 1:输入:nums = [1, 7, 3, 6, 5, 6]输出: 3解释:索...
2020-01-23 19:33:31
133
原创 Tomcat 启动startup.dat一闪而过与乱码问题
一闪而过:方法1:cmd 下进入到 Tomcat 安装路径,如下,我放在 f 盘,则先输入 f: 进入到 f 盘,再输入 "cd 路径"进入到bin目录下,输入 startup.dat 也可以执行成功。方法2:启动 startup.bat 时一闪而过,是因为环境变量没有配置好。解决方法:计算机 ——> 属性 ——> 高级 ——> 环境变量。在用户变...
2020-01-05 21:48:03
888
1
原创 和为S的连续正数序列
题目描述:小明很喜欢数学,有一天他在做数学作业时,要求计算出9~16的和,他马上就写出了正确答案是100。但是他并不满足于此,他在想究竟有多少种连续的正数序列的和为100(至少包括两个数)。没多久,他就得到另一组连续正数和为100的序列:18,19,20,21,22。现在把问题交给你,你能不能也很快的找出所有和为S的连续正数序列? Good Luck!输出描述:输出所有和为S的连续正数序列...
2019-12-25 23:40:25
164
原创 最大最小公倍数(蓝桥杯)
问题描述:已知一个正整数N,问从1~N中任选出三个数,他们的最小公倍数最大可以为多少。输入格式:输入一个正整数N。输出格式:输出一个整数,表示你找到的最小公倍数。样例输入:9样例输出:504数据规模与约定:1 <= N <= 106。解析:要求最小公倍数中的最大数,其实就是当三个数的最大公约数为 1 ,即三个数互为质数时,三个数的乘积最大。例如对于 9 来说,9...
2019-12-15 18:52:12
390
原创 n 个数里最小的 k 个
题目描述:找出n个数里最小的k个输入描述:每个测试输入包含空格分割的n+1个整数,最后一个整数为k值,n 不超过100。输出描述:输出n个整数里最小的k个数。升序输出示例输入3 9 6 8 -10 7 -11 19 30 12 23 5输出-11 -10 3 6 7一般思路:每次通过比较在数组中找出最小的数与前面的数交换并输出。import java.u...
2019-11-26 12:24:15
185
原创 删数
题目描述:有一个数组a[N]顺序存放0~N-1,要求每隔两个数删掉一个数,到末尾时循环至开头继续进行,求最后一个被删掉的数的原始下标位置。以8个数(N=7)为例:{0,1,2,3,4,5,6,7},0->1->2(删除)->3->4->5(删除)->6->7->0(删除),如此循环直到最后一个数被删除。输入描述:每组数据为一行一个整数n(小于等于...
2019-11-26 10:28:22
184
原创 不要二
题目描述:二货小易有一个W*H的网格盒子,网格的行编号为0~H-1,网格的列编号为0~W-1。每个格子至多可以放一块蛋糕,任意两块蛋糕的欧几里得距离不能等于2。对于两个格子坐标(x1,y1),(x2,y2)的欧几里得距离为:( (x1-x2) * (x1-x2) + (y1-y2) * (y1-y2) ) 的算术平方根,小易想知道最多可以放多少块蛋糕在网格盒子里。输入描述:每组数组包含网格长宽...
2019-11-21 23:12:22
114
原创 神奇的口袋
神奇的口袋:有一个神奇的口袋,总的容积是40,用这个口袋可以变出一些物品,这些物品的总体积必须是40。John现在有n个想要得到的物品,每个物品的体积分别是a1,a2……an。John可以从这些物品中选择一些,如果选出的物体的总体积是40,那么利用这个神奇的口袋,John就可以得到这些物品。现在的问题是,John有多少种不同的选择物品的方式。输入描述:输入的第一行是正整数n (1 <=...
2019-11-21 17:44:46
355
原创 买苹果
题目链接:小易去附近的商店买苹果,奸诈的商贩使用了捆绑交易,只提供6个每袋和8个每袋的包装(包装不可拆分)。 可是小易现在只想购买恰好n个苹果,小易想购买尽量少的袋数方便携带。如果不能购买恰好n个苹果,小易将不会购买。输入描述:输入一个整数n,表示小易想购买n(1 ≤ n ≤ 100)个苹果输出描述:输出一个整数表示最少需要购买的袋数,如果不能买恰好n个苹果则输出 -1示例1:输入20...
2019-11-21 17:11:39
187
原创 寻找第K大
寻找第K大【解题思路】:这题应该是用快排的思想:例如找49个元素里面第24大的元素,那么按如下步骤:1.进行一次快排(将大的元素放在前段,小的元素放在后半段),假设得到的中轴为p2.判断 p - low + 1 == k ,如果成立,直接输出a[p],(因为前半段有k - 1个大于a[p]的元素,故a[p]为第K大的元素)3.如果 p - low + 1 > k, 则第k大的元...
2019-11-21 15:55:47
811
原创 【软件测试 】基础篇 —— 概念,需求,缺陷,开发模型
什么是软件测试?找 bug 以及验证软件功能是否满足用户要求。软件测试与开发的区别?也是测试与调试的区别1.目的不同:测试的任务是发现程序中的缺陷;调试的任务是定位并且解决程序中的问题。2.参与角色不同:测试主要是由测试人员和开发人员来执行,黑盒测试主要由测试人员完成、单元/集成测试主要是由开发人员执行。调试由开发人员完成。3.执行的阶段不同:测试贯穿整个软件开发生命周期,调...
2019-11-16 23:40:37
1215
原创 统计回文
统计回文题目描述:“回文串”是一个正读和反读都一样的字符串,比如“level”或者“noon”等等就是回文串。花花非常喜欢这种拥有对称美的回文串,生日的时候她得到两个礼物分别是字符串A和字符串B。现在她非常好奇有没有办法将字符串B插入字符串A使产生的字符串是一个回文串。你接受花花的请求,帮助她寻找有多少种插入办法可以使新串是一个回文串。如果字符串B插入的位置不同就考虑为不一样的办法。例如:...
2019-11-12 16:26:24
108
原创 第十届蓝桥杯JavaB组省赛真题数的分解
第四题:数的分解题目描述:把 2019 分解成 3 个各不相同的正整数之和,并且要求每个正整数都不包含数字 2 和 4,一共有多少种不同的分解方法?注意交换 3 个整数的顺序被视为同一种方法,例如 1000+1001+18 和 1001+1000+18 被视为同一种。【答案提交】这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写...
2019-11-04 20:38:19
470
原创 哈希表
一、概念理想搜索方法:可以不经过任何比较,一次直接从表中得到要搜索的元素。 如果构造一种存储结构,通过某种函数(hashFunc)使元素的存储位置与它的关键码之间能够建立一一映射的关系,那么在查找时通过该函数可以很快找到该元素。当向该结构中:插入元素:根据待插入元素的关键码,以此函数计算出该元素的存储位置并按此位置进行存放搜索元素:对元素的关键码进行同样的计算,把求得的函数值当做元素的存储位置...
2019-10-19 15:09:07
278
原创 泛型类
定义语法:class 泛型类名称<类型形参列表> {// 这里可以使用类型参数}举例:class ClassName<T1, T2, ..., Tn> { }class 泛型类名称<类型形参列表> extends 继承类/* 这里可以使用类型参数 */ {// 这里可以使用类型参数}举例:class ClassNam...
2019-10-19 11:18:30
164
原创 CentOS 7通过 yum 安装 Mariadb详细步骤
进入 CentOS 7,输入 su root 切换权限,输入密码。1.删除旧版本输入如下指令查看当前拥有的数据库# rpm -qa | grep mariadb用命令 yum 删除以上的数据库,若有多个则同理删除# yum remove mariadb-libs-5.5.56-2.el7.x86_642.安装安装 mariadb 服务# yum...
2019-10-17 23:28:12
1695
原创 旧键盘
问题描述:旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现。现在给出应该输入的一段文字、以及实际被输入的文字,请你列出肯定坏掉的那些键。输入描述:输入在2行中分别给出应该输入的文字、以及实际被输入的文字。每段文字是不超过80个字符的串,由字母A-Z(包括大、小写)、数字0-9、 以及下划线“_”(代表空格)组成。题目保证2个字符串均非空。输出描述:按照发现顺序,在一...
2019-10-11 20:01:28
215
原创 771.宝石与石头
题目描述:给定字符串J代表石头中宝石的类型,和字符串S代表你拥有的石头。S中每个字符代表了一种你拥有的石头的类型,你想知道你拥有的石头中有多少是宝石。J中的字母不重复,J和S中的所有字符都是字母。字母区分大小写,因此"a"和"A"是不同类型的石头。示例 1:输入: J = "aA", S = "aAAbbbb"输出: 3示例 2:输入: J = "z", S = "...
2019-10-11 19:17:45
107
计算机图形学OpenGL版基础实验1-8.zip
2019-12-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人