自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(60)
  • 收藏
  • 关注

原创 Leetcode 字符串习题总结(415、409、290、763、5、48)

Leetcode 字符串相关题目最长回文子串把数字翻译成子串最长不含重复字符的子字符串反转字符串的单词最长不含重复字符的子字符串字符串相加常用方法最长回文子串leetcode 第5题经典动态规划+字符串 !定义动态转移方程: dp[ i ][ j ]=(s.charAt(i)==s.charAt(j))&&dp[ i +1 ][ j -1 ]处理一些特殊情况 只有一个字母时 dp[ i ][ i ]=true 只有两个字母时dp[ i][ i+1]=s.charAt(i)==s

2021-08-23 22:00:01 221 1

原创 Leetcode 92、147、148

Leetcode 92、147、148 反转链表 II排序链表对链表进行插入排序反转链表 IIleetcode 92 题这道题就是反转区间链表,典中典思路就是记录区间的前驱节点和后继节点,以及区间的左右边界记录四个位置,之后进行拼接 将前驱节点和区间右边界相连,区间左边界和后继节点相连实现区间反转链表! public ListNode reverseBetween(ListNode head, int left, int right) { ListNode dummy=new

2021-08-22 22:43:03 155 1

原创 计算机网络高频面试题

计算机网络高频面试题一、输入网址后发生什么二、三次挥手四次握手三、HTTP和HTTPS的区别四、HTTPS加密过程五、Cookie和Session区别, 没有cookie,session可以使用不六、HTTP协议中Post和GET请求七、UDP和TCP区别,使用场景一、输入网址后发生什么当我们在浏览器网址处输入一个网址后,就开始了一个神奇的过程流程概括1)进行DNS解析,找到对应的ip地址的服务器2)通过TCP协议建立连接(三次握手)3)建立连接后,浏览器发送HTTP连接请求4)服务器根据

2021-08-22 14:27:07 914 13

原创 ArrayList和LinkedList区别

ArrayList和LinkedList区别前言一、ArrayList是什么?二、使用步骤1.引入库总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、ArrayList是什么?ArrayList内部是动态数组的结构,具备数组的特点优点:1)查找速度快2)随机访问性强3)尾插速度快,时间复杂为O(N)缺点:1)头插、

2021-08-19 22:28:26 3898 1

原创 淘宝购物车测试用例

淘宝购物车测试用例补充(为什么淘宝购物车会有上限 )补充(为什么淘宝购物车会有上限 )1)我们了解到淘宝购物车上限为120,为什么添加到一定数量后就不能继续添加了,主要是因为购物车里面的信息都是存在后台的数据库中,如果让用户无限制的向购物车里添加商品的话,数据库信息会非常多,会消耗超级多的资源,还会花钱去购买更多的服务器设备来存储商品信息,如果加以限制,会减少资源消耗,还能减少BUG出现的机会,一举多得2)每次打开购物车时候,商品信息都会被加载出来,如果购物车里的东西非常多,由于加载每个商品都是通过

2021-08-17 22:16:24 1793

原创 Java多线程(单例模式、堵塞队列、定时器)

单例模式一、单例模式饿汉模式懒汉模式二、针对单例模式的线程安全要点:三、堵塞队列一、单例模式单例模式是一种设计模式,针对一些特定的场景,研究出对应的解决方案,。有些对象在代码中只应该有一个实例,单例模式就是强制某个类只能有一个实例。单例模式的实现,主要依托于static关键字(被static 修饰的成员,静态成员,把当前的成员变成类属性而不是实例属性~)每个类对象只有一份单例模式实现有两种,饿汉模式和懒汉模式饿汉模式饿汉模式实现:实例创建出现在“类加载”阶段(第一次使用到这个类的时候,就会把

2021-08-13 16:16:08 1460 12

原创 leetcode 119、48、54、59

LeetCode 数据结构基础(三)一、杨辉三角II二、一、杨辉三角IIleetcode 119 杨辉三角II利用二维数组来记录杨辉三角,找到特殊位置每行第一个和最后一个都是1,中间元素是上一行左元素和右元素之和 public List<Integer> getRow(int rowIndex) { //利用二维数组来记录 List<List<Integer>> res=new ArrayList<>();

2021-08-12 14:42:21 90

原创 微信发红包测试用例

微信发红包测试用例测试用例的设计多为六大结构1)功能性测试2)界面测试3)可靠性测试4)安全测试5)性能测试6)兼容性测试具体的测试用例设计,根据不同场景来设计

2021-08-11 23:10:16 298 1

原创 禅道——安装教程

禅道安装指南前言一、禅道的安装和配置1.1.其他修改前言禅道——项目管理工具(管理软件开发的整个流程),其他的测试管理工具有jira ,tapd等。一、禅道的安装和配置安装:点这里,进入官网!点击下载点进去之后选择自己相要的版本,这里只要不是最新版本都会稳定跳转页面后,一直往下划,到这个界面点击你对应的系统,下载下载好之后打开文件夹,一定要安装在根目录安装完毕后找到这个文件夹,点击点击启动禅道1.1.其他修改修改apache端口号,修改数据库端口号 :1)左上角 点

2021-08-11 21:58:08 16575 1

原创 LeetCode 数据结构基础(一)

LeetCode 数据结构基础(一)一、只出现一次的数字二、多数元素三、三数之和一、只出现一次的数字leetcode 136 只出现一次的数字遍历一遍数组利用异或的特性来实现(相同为0,相异为1 )例如[4,1,2,1,2] 4和1异或为5 5和2异或为7 7和1异或为6 6和2异或为4 这样就能找出唯一的数字了public int singleNumber(int[] nums) { int res=0; for(int i=0;i<nums.le

2021-08-09 23:37:56 278 3

原创 Java多线程(多线程基本操作,多线程安全问题等)

Java创建多线程前言一、创建线程四种方式1)继承Thread2)调用Runnable3)匿名内部类4)使用lambda表达式来创建二、了解Thread 类2.1Thread的常见的构造方法2.2Thread的几个常见的属性前言在Java中有,有一个Thread这样的类来表示"线程",线程是系统中概念~,在Java中通过Thread的类来包装好了,Java中的一个Thread对象和操作系统内部的一个线程是一一对应的一、创建线程四种方式1)继承Thread利用多态机制,继承于Thread机制1)

2021-08-09 11:30:58 663 15

原创 初识多线程

初识多线程前言一、操作系统1.冯诺依曼体系结构2.操作系统二、进程2.1操作系统管理进程2.2进程的组成2.3时间片2.4并行和并发2.5内核态和用户态2.6进程状态三、多线程3.1线程是什么?3.2进程和线程的区别3.3Java实现多线程3.4通过代码演示多线程提高效率前言我们先简单介绍操作系统来进一步了解多线程一、操作系统1.冯诺依曼体系结构冯诺依曼体系结构是由CPU(运算器,控制器) 存储器 输入设备 和输出设备组成CPU(运算器,控制器): 算术运算和逻辑判断存储器:主要功能是存储设

2021-08-07 18:34:43 1029 16

原创 软件测试——文件压缩、解压项目设计测试用例

软件测试——文件压缩项目前言一、项目启动,了解需求二、需求分析三、制定测试计划4、测试轮数5、测试执行流程6、设计测试用例7、测试执行7.1 准备工作7.2 缺陷管理8、输出测试报告9、版本发布10、项目总结前言软件测试的流程: 需求分析——测试计划——测试设计开发——测试执行——测试评估一、项目启动,了解需求背景:磁盘空间不够,需要一个压缩,解压文件的软件,来压缩解压文件节省空间目标:完成所有文件类型的压缩二、需求分析功能需求:文件类型:支持大部分格式的文件压缩文件个数:最多压缩100

2021-08-06 13:39:28 492 2

原创 测试的分类

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、黑盒测试二、测试的分类2.1开发阶段化分2.1.1单元测试2.2测试实施组织2.3测试执行方式2.4是否查看代码2.5是否手工执行2.6测试对象划分2.7测试地域划分2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、黑盒测试黑盒测

2021-08-05 23:55:25 1369

原创 手机APP基础功能测试

手机APP基础功能测试一、安装和卸载二、运行三、注册和登录四、日历控件五、权限设置六、软件更新七、网络环境八、兼容性测试九、异常测试一、安装和卸载在我们使用APP时,我们首先第一步就是安装APP,如果没有安装好APP,那就什么也做不了,(1)应用是否可以正常安装(应用商店安装,命令行安装,apk/ipa安装包安装等)(2)应用是否可以在IOS和Android不同系统,不同版本,不同机型和进行安装(系统版本过低不能安装,应用不适配)(3)安装过程中是否能暂停,暂停之后是否能继续安装(4)安装过程

2021-08-05 23:54:55 340

原创 微信发朋友圈测试用例

微信发朋友全测试用例

2021-08-05 17:23:04 184

原创 测试用例的设计方法及案例

测试用例的设计方法一、软件测试的生命周期(软件测试的流程是什么?)二、如何描述一个BUG?三、测试用例的设计方法3.1等价类3.2边界值法3.3因果图法3.4场景设计法3.5正交排列法3.6错误猜测法一、软件测试的生命周期(软件测试的流程是什么?)需求分析——测试计划——测试设计/开发——测试执行——测试评估需求分析对需求进行合理化筛选,分析需求对需求明确细化测试计划: 测试进行的人员、时间、测试范围、测试目的等具体进行计划测试设计/开发: 根据需求提炼出的功能点开发测试用例测试执行 执行测试

2021-08-04 23:47:48 2409 8

原创 软件开发模型

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、瀑布模型二、螺旋模型三.增量和迭代总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、瀑布模型瀑布模型在软件工程中占有很重要的地位,是所有其他模型的基础框架,瀑布模型的每一个阶段只执行一次,因此是线性顺序进行的软件开发模式。优点:强调开发

2021-08-04 20:05:15 524 1

原创 leetcode 数组练习

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档数据结构前言一、存在重复元素二、最大子序和三、两数之和四、合并两个有序数组五、两个数组的交集II六、买卖股票的最佳时机七、杨辉三角八、重塑矩阵前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、存在重复元素leetcode 217题排序数组,之后遍历是否有重复的元

2021-08-04 09:05:15 126 1

原创 初识二叉搜索树

二叉搜索树一、翻转二叉树二、路径总和三、二叉搜索树3.1验证二叉搜索树3.2两数之和3.3二叉搜索树的最近公共祖先3.4二叉搜索树的第K大节点一、翻转二叉树leetcode 226 题将二叉树左节点反转到右节点,右节点反转到左节点,递归实现 public TreeNode invertTree(TreeNode root) { //递归三步走 1.终止条件 2.一次递归需要做什么 3.这次递归要给上级返回什么结果 if(root==null) return null; Tr

2021-08-03 21:53:42 86 1

原创 软件测试入门知识了解

软件测试一、什么是软件测试?二、测试和调试的区别?三、软件测试的目的、原则是什么?四、你为什么选择测试开发?五、什么是需求?一、什么是软件测试?首先最经典的定义是:在规定的条件下对程序进行 操作 ,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。通俗来讲就是对软件进行测试,通过人工或者自动化的方式测试软件是否满足规定的需求。二、测试和调试的区别?1.目的不同: 测试的目的是软件是否满足规定的需求,而调试目的是解决程序中的问题2.参与角色不同 测试是测试人员查看是否实现了

2021-08-02 22:55:37 103

原创 二叉树层序遍历(bfs)

初识bfs一、层序遍历二、二叉树的最大宽度三、二叉树的右视图四、二叉树每层的最大值总结一、层序遍历leetcode 102题 public List<List<Integer>> levelOrder(TreeNode root) { //层序遍历 最经典的BFS List<List<Integer>> res=new LinkedList<>(); if(root==null) return

2021-08-02 19:26:20 314

原创 二叉树的属性leetcode简单题

二叉树的属性前言一、求节点个数二、求二叉树的最大深度三、相同的树四、对称二叉树五、另一棵树的子树六、平衡二叉树七、判断一棵树是否为完全二叉树八、求二叉树的宽度九、求二叉树的左视图十、求二叉树的右视图前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、求节点个数求全部节点个数: public int getSize(TreeNode

2021-08-01 23:18:58 105 2

原创 二叉树的遍历方式

四种遍历方式递归和非递归一、前序遍历(递归和非递归)二、中序遍历(递归和非递归)三、后序遍历(递归和非递归)四、层序遍历一、前序遍历(递归和非递归)前序遍历就是先遍历根再遍历左之后是右 根左右leetocde 144 题递归实现: public List<Integer> preorderTraversal(TreeNode root) { List <Integer> list=new ArrayList<>(); pre(r

2021-07-31 21:44:37 148 5

原创 数据结构之栈应用

栈和队列前言一、栈1.栈的应用1.1括号匹配1.2进制转化1.3后缀表达式二、队列1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、栈先进后出1.栈的应用1.1括号匹配leetcode 20 题 public boolean isValid(String s) { //有效括号时隔

2021-07-31 00:25:22 168 1

原创 TCP和UDP

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档TCP和UDP前言一、UDP是什么?二、TCP是什么?1.引入库2.TCP和UDP的区别总结前言目前我们比较常用的计算机网络的体系结构为TCP/IP五层网络结构从上而下为应用层,传输层,网络层,数据链路层,物理层,今天介绍的TCP和UDP就是传输层的两种协议,传输层来负责端到端的数据传输,传输层是操作系统内核实现的.一、UDP是什么?首先UDP是传输层的一种协议,先说特点:无连接, ==不可靠传输 ==(不知道数据发送成功与否,

2021-07-29 17:11:06 460 14

原创 数据结构之链表复习

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档复习链表常见习题前言一、删除链表中给定值为key的节点二、反转链表三、返回链表的中间节点四、返回链表的倒数第K个节点五、分割链表三、返回链表的中间节点前言链表类型的习题多和引用有关,一般就是定义引用来遍历链表,学会插入、修改、删除链表节点等一、删除链表中给定值为key的节点遍历链表,将值为key的节点删除即可,定义前驱节点,修改地址值二、反转链表定义三指针法,类似于头插法,来将链表的节点头插代码如下(示例):data =

2021-07-28 14:29:53 145 4

原创 Linux基本指令

Linux基本指令一、Linux最常用指令0.创建用户1.cd命令2.ls命令3.pwd命令4.touch命令5.echo命令6.cat命令7.rm命令8.mkdir命令9.tree10.cp命令11.mv命令二、其他命令1.man2.less3.head4.tail5. | 管道6. vim一、Linux最常用指令本文通过Xshell7来演示基本的指令0.创建用户在多人共用一个主机是可以创建多个用户来使用 前提是root用户1)用法useradd 【用户名】passwd2)功能:创建一个新

2021-07-24 11:05:22 679 8

原创 实现一个简单的“个人博客”项目

个人博客前言一、需求分析(实现的功能)二、数据库设计JDBC封装sql总结前言实现个人博客网站之前,我们需要先明确需求(需求分析)要实现的功能一、需求分析(实现的功能)1.博客列表页,展示了很多篇博客,每一篇博客包含标题,发布时间,博客摘要2.博客内容页,点击标题就能跳转都正文,显示博客详细内容,正文包括 标题,发布时间,完整的正文。3.博客编辑页,显示一个博客编辑框,用户在里面编辑博客内容,并提交给服务器,提交成功后,博客后台就会保存这个博客的内容,在列表也就能看到这篇博客了。4.删除博.

2021-07-21 18:18:40 1992 13

原创 Servlet(一)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档Servlet前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、pandas是什么?浏览器构建POST请求1.使用form表单2.使用ajax(JS中一种特殊的对象)示例:pandas 是基于

2021-07-19 11:27:10 80 1

原创 初识java-JDBC

JDBC一、前言二、通过JAVA操作MySQL1.先得到MySQL的API2.操作MySQL总结一、前言在日常生活中一般使用代码来操作数据库,MySQL会给主流的语言提供各种API(现成的函数/类),MySQL是由C/C++实现的,其他语言要操作数据库就要间接访问,数据库服务器是本体,通过代码写的程序,调用MySQL的API实现的是一个客户端,相当于服务器提供的客户端。即就要按照MySQL服务器的要求,构造出响应的网络请求就行了。通过代码访问MySQL就是实现一个MySQL客户端(只要能按照人家My

2021-07-17 20:56:35 106 1

原创 面试题:输入网址后发生了什么

一次HTTP请求过程或者输入网址后发生了什么前言一、流程概括二、具体流程1.DNS解析2.三次握手建立连接2.1为什么是三次握手,二次不行吗?3.发送HTTP请求4.服务器解析请求,并返回数据5.浏览器解析响应,展示相应的界面6.断开连接(四次挥手)6.1为什么是四次挥手?前言当我们在浏览器中输入一个网址后,浏览器给我们返回一个页面过程中,到底发生了什么?一、流程概括1.进行DNS解析,找到对应ip地址的服务器2.通过TCP协议建立连接(三次握手)3.建立连接后,浏览器发送HTTP请求4.服

2021-07-17 11:50:23 2028 1

原创 初识Tomcat、Maven、Servlet

认识Tomcat前言一、了解Tomcat?二、使用Tomcat1.检查Tomcat是否启动成功?2.简单使用Tomcat1.使用Tomcat部署静态页面2.使用Tomcat部署动态页面三、了解Maven四、使用Maven总结前言什么是Tomcat?Tomcat是一种HTTP服务器,Java语言中最常用的服务器。Tomcat对于HTTP协议进行了封装。一、了解Tomcat?首先我们在官网下载Tomcat,之后安装,在文件夹中打开就是先介绍一下这里面的内容:1.bin :存放一起启动停止脚本,

2021-07-13 15:25:17 485 1

原创 初识HTTP和HTTPS

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档HTTP和HTTPS前言一、计算机网络是什么?二、HTTP1.HTTP协议是什么?2.为什么会有HTTP协议?3.HTTP协议传输过程4.HTTP常见的状态码5.URL?6.DNS?7.HTTP协议格式8.HTTP的方法三、HTTPS总结前言秋招开始了!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!一、计算机网络是什么?计算机网络就是将分散在不同地理位置上的具有自主处理能力的多台计算机经过传输媒介和通信设备相互连接起

2021-07-11 15:51:02 210

原创 排序算法及优化

常见排序算法及其优化前言一、冒泡排序二、插入排序1.优化插入排序三、希尔排序四、选择排序五、快速排序1.素颜快速排序2.优化快速排序3.非递归实现快速排序六、归并排序七、堆排序八、其他排序1.计数排序2.基数排序3.桶排序九、海量数据排序问题总结前言内排序 :将数据存储在内存上,在内存上进行的排序外排序:将数据存储在外存上(例如磁盘,硬盘)排序的一、冒泡排序1.冒泡排序是一种稳定的排序,思想就是遍历数组是将相邻的两个元素进行比较,值大的就往后面放,一趟冒泡排序的结果就是将数组中最大的值放到了最后

2021-06-30 10:55:54 208 5

原创 二叉树遍历选择题技巧

答题技巧一、根据先序和中序遍历求后序遍历练习1练习2二、根据后序和中序遍历求先序遍历练习1练习2三、其他情况一、根据先序和中序遍历求后序遍历练习1一棵二叉树的先序遍历为EFHIGJK,中序遍历为HFIEJKG,则后序遍历为因为知道先序遍历的结果,可以得知E就是根结点,由此可得中序遍历结果中E左边为其左子树,右边为其右子树之后就可以根据先序遍历的结果层层递推了总结:做题技巧就是根据先序遍历的特性(根左右),在中序遍历的结果找到根结点,根据这一特性将中序遍历层层划分,最终能得到二叉树的形状也能求

2021-06-21 09:56:10 1636 4

原创 Map和Set

了解HashMap和HashSet一、HashMap1.常用方法2.HashMap应用(1)将十万个数据,统计重复数字和出现的个数(2)两数之和二、HashSet1.常用方法2.HashSet应用(1)List当中存放数据为10万个,找出第一个重复的数据(2)只出现一次的数字(3)宝石与石头(4)旧键盘(5)两个数组的交集一、HashMap1.初始化HashMap,一般为K-V模型,即关键字Key和关键字所对应的值Value,注意关键字一般是唯一的,不能有重复的值,而Value可以有重复的,不作要求。

2021-06-20 20:47:34 118

原创 Java二维数组

二维数组前言一、二维数组的建立一、二维数组的遍历二、二维数组的应用1.打印菱形2.读入数据总结前言在Java中一般没有二维数组的概念,而二维数组就是类似于在一维数组中存放一个数组,注意数组的长度不能改变。一、二维数组的建立定义二维数组时第一个括号内代表有几个一位数组,第二个括号代表一维数组的长度。 int [][]array=new int[3][]; //前面括号中数字时必须填的 int[][]array1={{1},{2,3},{4,5,6}}; //已经赋值的二维数组定义一、二

2021-06-20 10:33:34 415

原创 初识动态规划

学习动态规划心得前言动态规划(Dynamic Programming)是什么?一、Fibonacci一、Fibo·nacci一、Fibonacci一、Fibonacci一、Fibonacci一、Fibonacci一、Fibonacci一、Fibonacci一、Fibonacci一、Fibonacci一、Fibonacci一、Fibonacci一、Fibonacci总结前言提示:最近在做题的时候,每次去做一些最大最小值,或者有多少种可能情况等问题的时候总是没有头绪,但是一看评论就是什么经典动规题目,代码

2021-06-19 15:15:09 131

原创 PC端 QQ登录测试用例

2021-06-16 11:12:56 224 3

空空如也

空空如也

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

TA关注的人

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