自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Python中的PyInputPlus模块详解

“输入验证”代码检查用户输入值,p在ython中我们用的最多的是input()函数,但是有些情况下反复使用input()函数可能会遗漏某些场景,并且该函数允许无效输入通过检查。因此我们需要使用Python的第三方模块PyInputPlus进行输入验证。PyInputPlus包含与input()类似的、用户多种数据(数字日期、E-mail地址等)的函数。如果用户输入了无效的内容,例如格式错误的日期或超出预期范围的数字,PyIputPlus会再次提示他们输入。PyInputPlus还包含其他有用的功能,例如

2022-05-29 17:38:00 1269

原创 Python中的模式匹配与正则表达式的基本用法

目录用Python创建正则表达式对象匹配Regex对象利用括号分组用管道匹配多个分组用问号实现可选匹配用星号匹配零次或者多次用加号匹配一次或多次用花括号匹配特定次数贪心和非贪心匹配findall()方法字符分类建立自己的字符分类插入字符和美元字符通配字符用点星(.*)匹配所有字符用句点字符匹配换行符一般我们如果希望在字符串中查找电话号码,例如这种格式:415-555-4242。我们可以用一个名为isPhoneNumber()的函数来检查字符

2022-05-15 21:26:11 856

原创 Java基础知识入门

Java基础知识总结在正式学习Java之前,我们第一件事情就是安装JDK。在Oracle官网下载最新版的稳定JDK,可以参考教程https://www.cnblogs.com/kelley-2020/p/12786104.html目前流行使用Java开发的IDE有:Eclipse、IntelliJ Idea、NetBeans等,我们写代码可以在这些开发环境中写,方便我们进行调试运行。第一个Java程序public class Hello {//类名是Hello public sta

2021-01-03 18:47:33 276

原创 性能测试入门基础知识总结

性能测试基础进行性能测试,我们需要关注性能测试的哪些方面,如果能回答出以下几个问题(5W),我们就基本入门性能测试了,然后就需要我们通过实践,运用这些性能知识理论去为实践服务,帮助我们刚好的检查和定位系统的性能问题,从而改善我们的系统软件。WHY:为什么要进行性能测试 WHAT:关注的性能测试内容是什么 WHO:哪些人员需要关注性能问题 WHERE:性能测试的关注领域 WHEN:何时进行性能测试以下分别回答上面的5个问题。WHY(为什么进行性能测试)当我们使用一个软件的时候,

2020-06-25 17:23:52 1623

原创 Selenium自动化测试工具的介绍与使用

什么是自动化测试自动化测试指软件测试的自动化,在预设状态下运行应用程序或者系统,预设条件包括正常和异常,最后评估运行 结果。总的概括即:将人为驱动的测试行为转化为机器执行的过程。进入今天的主角:selenium学习功能测试自动化首选工具就是selenium,它是一个web自动化测试工具。selenium的特点支持多平台:IE、Chrome、Firefox、edge、Safari 支持多语言:Python、C、Java、C#、ruby、js 免费小巧,支持分布式测试用例的执行,..

2020-06-22 23:25:52 14628 2

原创 详解数据库中主键、索引以及两者之间的区别

主键主键:primary key用来唯一的约束该字段里面的数据,不能重复,不能为空,一张表中最多只能有一个主键,主键所在的列通常是整数类型。一个可能被忽略的问题:数据库表中必须有主键吗?答案是否定的。数据库中的表可以不要主键。主键的作用保证实体的完整性; 加快数据库的操作速度 在表中添加新记录时,数据库会自动检查新记录的主键值,不允许该值与其他记录的主键值重复。 数据...

2020-04-01 17:10:22 3759

原创 MySQL表的相关约束操作

MySQL中表的约束有很多,这里主要介绍以下几个:null/not null,default,comment,zerofill,primary key,auto_increment,unique key,foreign key1.空属性两个值:null(默认的)和not null(不为空) 数据库默认字段基本都是字段为空,但实际开发中,尽可能保证字段不为空,因为数据为空没办法参与...

2020-02-27 12:02:05 1362

原创 MySQL库的相关操作

1.创建数据库语法:CREATE DATABASE [IF NOT EXISTS] db_name [create_specification [, create_specification]...]create_specification:[DEFAULT] CHARACTER SET charset_name[DEFAULT] COLLATE collation_name...

2020-02-26 20:43:58 261

原创 常见八大排序算法的分析实现与总结

排序的概念在实现排序算法之前,我们需要对排序的相关概念有一个清楚的理解。排序:排序就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。稳定性:假设在待排序的记录序列中,存在多个具有相同的关键字的记录,若经过排序,这些记录的相对次序保持不变,即在原序列中,r[i]=r[j],且r[i]在r[j]之前,而在排序之后的序列中,r[i]仍在r[j]之前,则称这种排序算...

2020-02-23 12:03:06 381

原创 socket网络编程详解以及实现一个简单的UDP、TCP网络程序

socket常见的API1.int socket(int domain,int type,int protocol);头文件:#include<sys/types.h>#include<sys/socket.h>解释:soket()打开一个网络通讯端口,如果成功返回一个文件描述符。 应用程序可以像读写文件一样用read和write在网络上收发数据...

2020-02-21 17:58:44 515

原创 哈希结构以及用哈希结构实现unordered_map和unordered_set

哈希的概念unordered系列的关联式容器之所以效率比较高,是因为底层使用了哈希结构。那么问题来了,什么是哈希呢?顺序结构和平衡树中,元素关键码与其存储位置之间没有对应关系,因此在查找一个元素时,必须要经过关键码的多次比较。顺序查找时间复杂度为O(N),平衡树中为树的高度,即O(logN),搜索的效率取决于搜索过程中元素的比较次数。理想的搜索方法:不经过任何比较,一次直接从表中得到要搜索的...

2020-02-12 15:37:23 645

原创 LeetCode-两句话中的不常见单词

题目描述:给定两个句子A和B。(句子是一串由空格分隔的单词。每个单词仅由小写字母组成。)如果一个单词在其中一个句子中只出现一次,在另一个句子中却没有出现,那么这个单词就是不常见的。返回所有不常用单词的列表。您可以按任何顺序返回列表。示例 1:输入:A = "this apple is sweet", B = "this apple is sour"输出:["swee...

2020-02-10 21:50:16 212

原创 set和map的底层模拟实现

STL总共实现了两种不同结构的管理式容器:树型结构与哈希结构。树型结构的关联式容器主要有4种:map、set、multimap、multiset。这四种容器的共同点是:使用平衡搜索树(红黑树)作为其底层结构,容器中的元素是一个有序的序列。1.map的介绍map是关联容器,它是按照特定的次序,即按照key值来比较,存储有键值key和值value组合而成的元素。 在map中,键值key通常...

2020-02-09 22:52:03 899

原创 用C++实现红黑树的插入操作以及红黑树的验证

1.红黑树的概念红黑树是一种二叉搜索树,并且每个结点上增加了一个存储表示结点的颜色,可以是Red或Black。通过对任何一条从根到叶子的路径上各个结点着色方式的限制,红黑树确保没有一条路径会比其他路径的长度长出两倍,因而是近似平衡的。2.红黑树的性质(重要)每个结点的颜色不是红色就是黑色 根结点的颜色是黑的 如果一个结点是红的,则它的两个孩子结点是黑的(意思是不可能存在连续的红结点...

2020-02-07 16:29:34 358

原创 LeetCode-二叉树的最近公共祖先

题目描述:给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。”例如,给定如下二叉树:root =[3,5,1,6,2,0,8,null,null,7,4]示例 1:输入: root = ...

2020-02-05 23:45:04 165

原创 剑指offer-连续子数组的最大和

题目描述:例如:{6,-3,-2,7,-15,1,2,2},连续子向量的最大和为8(从第0个开始,到第3个为止)。给一个数组,返回它的最大连续子序列的和。class Solution {public: int FindGreatestSumOfSubArray(vector<int> array){ if(array.size() == 0) ...

2020-02-01 22:26:24 173

原创 LeetCode-反转字符串II

题目描述:给定一个字符串和一个整数 k,你需要对从字符串开头算起的每个 2k 个字符的前k个字符进行反转。如果剩余少于 k 个字符,则将剩余的所有全部反转。如果有小于 2k 但大于或等于 k 个字符,则反转前 k 个字符,并将剩余的字符保持原样。示例:输入: s = "abcdefg", k = 2输出: "bacdfeg"要求:该字符串只包含小写的英文字母。给定字符串的长度...

2020-01-31 21:59:03 190

原创 LeetCode-二叉树的右视图

题目描述:给定一棵二叉树,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。示例:输入:[1,2,3,null,5,null,4]输出:[1, 3, 4]解释: 1 <---/ \2 3 <---\ \ 5 4 <---解法一:递归算...

2020-01-30 18:00:46 178

原创 LeetCode-找出不含重复元素数组子集

题目描述:给定一组不含重复元素的整数数组nums,返回该数组所有可能的子集(幂集)。说明:解集不能包含重复的子集。示例:输入: nums = [1,2,3]输出:[ [3],[1],[2],[1,2,3],[1,3],[2,3],[1,2],[]]class Solution {public: vector&lt...

2020-01-30 17:52:37 479

原创 LeetCode-逆波兰表达式求值

题目描述:根据逆波兰表示法,求表达式的值。有效的运算符包括+,-,*,/。每个运算对象可以是整数,也可以是另一个逆波兰表达式。说明:整数除法只保留整数部分。给定逆波兰表达式总是有效的。换句话说,表达式总会得出有效数值且不存在除数为 0 的情况。示例1:输入: ["2", "1", "+", "3", "*"]输出: 9解释: ((2 + 1) * 3) = ...

2020-01-29 16:53:52 178

原创 LeetCode-最短无序连续子数组

题目描述:给定一个整数数组,你需要寻找一个连续的子数组,如果对这个子数组进行升序排序,那么整个数组都会变为升序排序。你找到的子数组应是最短的,请输出它的长度。示例 1:输入: [2, 6, 4, 8, 10, 9, 15]输出: 5解释: 你只需要对 [6, 4, 8, 10, 9] 进行升序排序,那么整个表都会变为升序排序。说明 :输入的数组长度范围在[1, 10,0...

2020-01-29 16:50:12 182

原创 LeetCode-压缩字符串

题目描述:给定一组字符,使用原地算法将其压缩。压缩后的长度必须始终小于或等于原数组长度。数组的每个元素应该是长度为1的字符(不是 int 整数类型)。在完成原地修改输入数组后,返回数组的新长度。进阶:你能否仅使用O(1) 空间解决问题?示例 1:输入:["a","a","b","b","c","c","c"]输出:返回6,输入数组的前6个字符应该是:["a"...

2020-01-28 23:42:20 188

原创 LeetCode-验证回文串

题目描述:给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。说明:本题中,我们将空字符串定义为有效的回文串。示例 1:输入: "A man, a plan, a canal: Panama"输出: true示例 2:输入: "race a car"输出: falseclass Solution {public: bool IsLet...

2020-01-28 23:32:10 128

原创 LeetCode-字符串转换整数

题目描述:请你来实现一个atoi函数,使其能将字符串转换成整数。首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止。当我们寻找到的第一个非空字符为正或者负号时,则将该符号与之后面尽可能多的连续数字组合起来,作为该整数的正负号;假如第一个非空字符是数字,则直接将其与之后连续的数字字符组合起来,形成整数。该字符串除了有效的整数部分之后也可能会存在多余的字...

2020-01-26 17:33:23 192

原创 LeetCode-二进制求和

题目描述:给定两个二进制字符串,返回他们的和(用二进制表示)。输入为非空字符串且只包含数字1和0。示例1:输入: a = "11", b = "1"输出: "100"示例2:输入: a = "1010", b = "1011"输出: "10101"class Solution {public: string addBinary(string a,...

2020-01-26 16:08:24 143

原创 LeetCode-第三大的数

题目描述:示例 1:输入: [3, 2, 1]输出: 1解释: 第三大的数是 1.示例 2:输入: [1, 2]输出: 2解释: 第三大的数不存在, 所以返回最大的数 2 .示例 3:输入: [2, 2, 3, 1]输出: 1解释: 注意,要求返回第三大的数,是指第三大且唯一出现的数。存在两个值为2的数,它们都排第二。class Solution...

2020-01-22 22:54:26 153

原创 LeetCode-加一

题目描述:给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。你可以假设除了整数 0 之外,这个整数不会以零开头。示例1:输入: [1,2,3]输出: [1,2,4]解释: 输入数组表示数字 123。示例2:输入: [4,3,2,1]输出: [4,3,2,2]解释: 输入数组表示数字 4...

2020-01-22 22:46:45 133

原创 LeetCode-寻找数组的中心索引

题目描述:给定一个整数类型的数组nums,请编写一个能够返回数组“中心索引”的方法。我们是这样定义数组中心索引的:数组中心索引的左侧所有元素相加的和等于右侧所有元素相加的和。如果数组不存在中心索引,那么我们应该返回 -1。如果数组有多个中心索引,那么我们应该返回最靠近左边的那一个。示例 1:输入:nums = [1, 7, 3, 6, 5, 6]输出: 3解释:索...

2020-01-21 22:07:11 180

原创 LeetCode-按奇偶排序数组

题目描述:给定一个非负整数数组 A,返回一个数组,在该数组中,A 的所有偶数元素之后跟着所有奇数元素。你可以返回满足此条件的任何数组作为答案。示例:输入:[3,1,2,4]输出:[2,4,3,1]输出 [4,2,3,1],[2,4,1,3] 和 [4,2,1,3] 也会被接受。class Solution {public: vector<int> ...

2020-01-21 21:58:37 1288

原创 最难的问题(密文转原文)

题目描述:NowCoder首次发明了密码,用于军队的消息传递。假设你是军团中的一名军官,需要把发送来的消息破译出来、并提供给你的将军。消息加密的办法是:对消息原文中的每个字母,分别用该字母之后的第5个字母替换(例如:消息原文中的每个字母A 都分别替换成字母F),其他字符不 变,并且消息原文的所有字母都是大写的。密码中的字母与原文中的字母对应关系如下。密码字母:A B C D E F G H I...

2020-01-20 22:09:44 549

原创 LeetCode-仅仅反转字母

题目描述:给定一个字符串S,返回“反转后的”字符串,其中不是字母的字符都保留在原地,而所有字母的位置发生反转。示例 1:输入:"ab-cd"输出:"dc-ba"示例 2:输入:"a-bC-dEf-ghIj"输出:"j-Ih-gfE-dCba"示例 3:输入:"Test1ng-Leet=code-Q!"输出:"Qedo1ct-eeLg=ntse-T!"提示:...

2020-01-20 22:08:21 139

原创 LeetCode-有序数组的平方

题目描述:给定一个按非递减顺序排序的整数数组 A,返回每个数字的平方组成的新数组,要求也按非递减顺序排序。示例 1:输入:[-4,-1,0,3,10]输出:[0,1,9,16,100]示例 2:输入:[-7,-3,2,3,11]输出:[4,9,9,49,121]提示:1 <= A.length <= 10000-10000 <= A[i] <...

2020-01-20 22:05:03 137

原创 LeetCode-长按键入

题目描述:你的朋友正在使用键盘输入他的名字name。偶尔,在键入字符c时,按键可能会被长按,而字符可能被输入 1 次或多次。你将会检查键盘输入的字符typed。如果它对应的可能是你的朋友的名字(其中一些字符可能被长按),那么就返回True。示例 1:输入:name = "alex", typed = "aaleex"输出:true解释:'alex' 中的 'a'...

2020-01-19 22:13:37 181

原创 LeetCode-存在重复元素

题目描述:给定一个整数数组,判断是否存在重复元素。如果任何值在数组中出现至少两次,函数返回 true。如果数组中每个元素都不相同,则返回 false。示例 1:输入: [1,2,3,1]输出: true示例 2:输入: [1,2,3,4]输出: false示例3:输入: [1,1,1,3,3,4,3,2,4,2]输出: trueclass Solution...

2020-01-19 22:11:39 116

原创 LeetCode-合并两个有序数组

题目描述:给定两个有序整数数组nums1 和 nums2,将 nums2 合并到nums1中,使得num1 成为一个有序数组。说明:初始化nums1 和 nums2 的元素数量分别为m 和 n。你可以假设nums1有足够的空间(空间大小大于或等于m + n)来保存 nums2 中的元素。示例:输入:nums1 = [1,2,3,0,0,0], m = 3n...

2020-01-18 21:34:47 159

原创 LeetCode-最后一个单词的长度

题目描述:给定一个仅包含大小写字母和空格' '的字符串 s,返回其最后一个单词的长度。如果字符串从左向右滚动显示,那么最后一个单词就是最后出现的单词。如果不存在最后一个单词,请返回 0。说明:一个单词是指仅由字母组成、不包含任何空格的 最大子字符串。示例:输入: "Hello World"输出: 5class Solution {public: in...

2020-01-18 21:32:59 158

原创 LeetCode-回文数

题目描述:判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。示例 1:输入: 121输出: true示例2:输入: -121输出: false解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。示例 3:输入: 10输出: false解释: 从右向左读, 为 01 。因此它不是一个回文...

2020-01-15 21:38:04 124

原创 LeetCode-赎金信

题目描述:给定一个赎金信 (ransom) 字符串和一个杂志(magazine)字符串,判断第一个字符串ransom能不能由第二个字符串magazines里面的字符构成。如果可以构成,返回 true ;否则返回 false。(题目说明:为了不暴露赎金信字迹,要从杂志上搜索各个需要的字母,组成单词来表达意思。)注意:你可以假设两个字符串均只含有小写字母。canConstruct(...

2020-01-15 21:35:43 205

原创 LeetCode-移除元素

题目描述:给定一个数组 nums和一个值 val,你需要原地移除所有数值等于val的元素,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。示例 1:给定 nums = [3,2,2,3], val = 3,函数应该返回新的长度 2, 并且 nums...

2020-01-14 21:49:23 148

原创 LeetCode-搜索插入位置

题目描述给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。你可以假设数组中无重复元素。示例 1:输入: [1,3,5,6], 5输出: 2示例2:输入: [1,3,5,6], 2输出: 1示例 3:输入: [1,3,5,6], 7输出: 4示例 4:输入: [1,3,5,6], 0输出...

2020-01-14 21:46:43 133

空空如也

空空如也

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

TA关注的人

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