自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 腾讯云服务器部署vue前端项目(Ubuntu+vue+nginx+nodejs+npm)

云服务器部署vue项目

2022-11-18 16:43:53 1586

原创 测试工具开发(上)--前端开发

在测试的工作中,有时候会利用脚本去构造一些数据,我们希望能有一个前端界面加上功能按钮可以一键操作去构造我们需要的数据,现在测试的系统,业务数据需要引用一些基础数据,现在我们先写点简单的工具来构造这些基础数据,这样的话我们在回归的过程中相对可以节省一些时间,工具的实质其实就是提效,话不多说,开始吧。

2022-10-10 09:35:24 428

原创 华为OD机考十题解答-- Python3

华为OD机试Python解法

2022-06-13 12:34:39 3649

原创 力扣算法题:2的幂--Easy

给你一个整数 n,请你判断该整数是否是 2 的幂次方。如果是,返回 true ;否则,返回 false 。如果存在一个整数 x 使得 n == 2x ,则认为 n 是 2 的幂次方。示例 1:输入:n = 1输出:true解释:20 = 1示例 2:输入:n = 16输出:true解释:24 = 16示例 3:输入:n = 3输出:false示例 4:输入:n = 4输出:true示例 5:输入:n = 5输出:false提示:-231 <= n <= 2

2022-05-27 16:10:55 155

原创 力扣算法题:有效的完全平方数--Easy

给定一个 正整数 num ,编写一个函数,如果 num 是一个完全平方数,则返回 true ,否则返回 false 。进阶:不要 使用任何内置的库函数,如 sqrt 。示例 1:输入:num = 16输出:true示例 2:输入:num = 14输出:false提示:1 <= num <= 2^31 - 1来源:力扣(LeetCode)解题思路:如果用内置函数来做,会很简单,进阶的方式是不用内置函数,这个我还没去想,先用内置函数去做吧,就将目标数平方根后的数转为int类型

2022-05-27 15:38:50 138

原创 Python--字典的操作

字典是python中的一种数据结构,称为映射,字典的作用和列表类似,都是用来存储对象的容器,列表存储数据的性能很好,但是查询数据的性能很差,字典中每一个元素都有一个唯一的名字,通过这个唯一的名字可以快速的查找到指定的元素,在查询元素的时候,字典的效率是非常快的。字典中的每个对象都有一个唯一的名字,这个名字被称为key,通过key可以快速的查询value,这个对象称为value。新建一个空字典dic=dict()dic={}字典的值可以是任意对象,字典的键是任意的不可变对象且不能重复。创建新的字典

2022-05-09 20:51:26 859

原创 力扣算法题:存在重复元素II

给你一个整数数组 nums 和一个整数 k ,判断数组中是否存在两个 不同的索引 i 和 j ,满足 nums[i] == nums[j] 且 abs(i - j) <= k 。如果存在,返回 true ;否则,返回 false 。示例 1:输入:nums = [1,2,3,1], k = 3输出:true示例 2:输入:nums = [1,0,1,1], k = 1输出:true示例 3:输入:nums = [1,2,3,1,2,3], k = 2输出:false提示:1 &l

2022-05-06 20:32:31 200

原创 Python--列表的操作

列表是python中的一种数据结构,英文是list定义一个空列表有两种方法list_new = list()new_list = []#⚠️这两种定义方式都是可以的定义一个非空列表,列表中的元素是任意的,元素可以是任何类型list_new = [1,'hello',[1,3],False,{'name':'william'},{1,4},(3,5)]切片获取元素print(list_new[2:5])#打印结果:[[1, 3], False, {'name': 'william'}]

2022-05-06 15:10:53 937

原创 力扣算法题:重复的数字

给你一个整数数组 nums 。如果任一值在数组中出现 至少两次 ,返回 true ;如果数组中每个元素互不相同,返回 false 。示例 1:输入:nums = [1,2,3,1]输出:true示例 2:输入:nums = [1,2,3,4]输出:false示例 3:输入:nums = [1,1,1,3,3,4,3,2,4,2]输出:true提示:1 <= nums.length <= 105-109 <= nums[i] <= 109来源:力扣(LeetC

2022-05-05 20:42:11 612

原创 Python--字符串的操作

str 字符串对应的方法字符串一旦定义,其中的元素就不能更改string='hello world'⚠️将所有小写字母转为大写字母,转换后的新字符串和原字符串的内存地址是不一样的`print(string.upper())` #打印结果:HELLO WORLD⚠️将大写字母转为小写是用lower(),转换后的新字符串和原字符串的内存地址是不一样的string1="HELLO WORLD"print(string1.lower()) #打印结果:hello world统计字符串中某个

2022-05-05 20:03:03 609

原创 Python--类属性、实例方法、类方法、静态方法

class A: #定义一个类 # 类属性,直接在类中定义的属性是类属性 # 类属性可以通过类或者是类的实例都可以访问到 # 类属性只能通过类对象来修改,无法通过实例对象修改 count = 0 # 实例属性,通过实例对象添加的属性属于实例属性 # 实例属性只能通过实例对象来访问和修改,类对象无法访问修改 def __init__(self, name): self.name = 'william' # 实例方法

2022-05-02 23:45:11 454

原创 Python--模块化

模块化模块化指将一个完整的程序分解为一个一个小的模块;通过将模块组合,来搭建一个完整的程序;不采用模块化,统一将所有的代码编写到一个文件中;采用模块化,将程序分别编写到多个文件中;模块化的优点1、方便开发 2、方便维护 3、模块可以复用;在python中一个py文件就是一个模块,要想创建模块,实际上就是创建一个python文件;注意:模块名要符合标识符的规范在一个模块中引入外部模块1、import 模块名2、import 模块名 as 模块别名可以引入同一个模块多次,但是模块的实例只会

2022-05-01 20:01:48 651

原创 Python内置函数--isinstance()、issubclass()

isinstance()、issubclass()介绍python中有两个内置函数,可能不是很常用,但是还是要知道这两个内置函数是干嘛用的#用来检查一个对象是否是一个类的实例isinstance(__0bj,__class_or_tuple)#用来检查一个类是否是另一个类的子类issubclass(__cls,__class_or_tuple) ...

2022-05-01 14:48:11 595

原创 Python3--property装饰器(面向对象三大特性之封装)

class Person: def __init__(self,name,age): self._name = name self._age = age #proper装饰器,用来将一个get方法,**转换为对象的属性** #添加为property装饰器以后,我们就可以像调用属性一样使用get方法 #使用property装饰的方法,方法名必须和属性名是一样的 @property def name(self,name): return self._name #setter方法的装饰

2022-04-30 19:33:56 266

原创 力扣算法题:验证回文串

给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。说明:本题中,我们将空字符串定义为有效的回文串。示例 1:输入: “A man, a plan, a canal: Panama”输出: true解释:“amanaplanacanalpanama” 是回文串示例 2:输入: “race a car”输出: false解释:“raceacar” 不是回文串来源:力扣(LeetCode)class Solution: def isPalindrome(

2022-04-30 15:24:28 302

原创 力扣算法题:只出现一次的数字

给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。说明:你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?示例 1:输入: [2,2,1]输出: 1示例 2:输入: [4,1,2,1,2]输出: 4来源:力扣(LeetCode)解题思路:不增加内存空间的情况下,将目标数组使用内置函数sort()进行排序,根据题目可知,数组中的元素个数一定是是奇数个,那就考虑当元素个数为1时的情况和元素大于1时的情况即可,当元素个数为1个时

2022-04-30 15:13:08 240

原创 力扣算法题:爬楼梯

假设你正在爬楼梯。需要 n 阶你才能到达楼顶。#### 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?示例 1:输入:n = 2输出:2解释:有两种方法可以爬到楼顶。1 阶 + 1 阶2 阶示例 2:输入:n = 3输出:3解释:有三种方法可以爬到楼顶。1 阶 + 1 阶 + 1 阶1 阶 + 2 阶2 阶 + 1 阶来源:力扣(LeetCode)解题思路:当n=1时,方法有1种当n=2时,方法有2种当n=3时,方法有3种当n=4时,方法有5

2022-04-28 21:43:06 92

原创 力扣算法题:X的平方根

给你一个非负整数 x ,计算并返回 x 的 算术平方根 。由于返回类型是整数,结果只保留 整数部分 ,小数部分将被 舍去 。注意:不允许使用任何内置指数函数和算符,例如 pow(x, 0.5) 或者 x ** 0.5 。来源:力扣(LeetCode)解题思路:这题是看题解,这里使用了二分查找的方法,使用双指针class Solution: def mySqrt(self, x: int) -> int: #x的平方根一定在0到x之间的数,那就利用二分查找来找到这个数,先定义最

2022-04-28 21:25:41 241

原创 力扣算法题:二进制求和

给你两个二进制字符串,返回它们的和(用二进制表示)。输入为 非空 字符串且只包含数字 1 和 0。解题思路:先将两个二进制数转为十进制,再将相加后得出的十进制数转化为二进制。二进制转为十进制:int(a,2)这里的a是二进制字符串十进制转为二进制1:bin(a)这里的a是十进制数,如果使用bin()这个函数,转为的二进制为“0bxxxxxx”,这里我们需要格式化一下。十进制转为二进制2:‘{:b}’.format(a)这样就转化后的二进制就是不带0b前缀的了。class Solution:

2022-04-28 20:55:03 224

原创 力扣算法题:加一

题目:给定一个由 整数 组成的 非空 数组所表示的非负整数,在该数的基础上加一。最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。你可以假设除了整数 0 之外,这个整数不会以零开头。来源:力扣(LeetCode)我的解题思路:考虑到数组的长度,非空数组最少也有一个元素,数组中会有一个元素、有两个元素、有三个元素,甚至有更多的元素,当然有一个元素的时候非常好处理,直接判断元素是否是9然后再处理即可,因为只有元素是9时加了1之后会变成10,而数组只能存储单个数字,所以要对元素为9时做进一步处理

2022-04-27 14:52:43 310

原创 力扣算法题:最后一个单词的长度

题目:给你一个字符串 s,由若干单词组成,单词前后用一些空格字符隔开。返回字符串中 最后一个 单词的长度。单词 是指仅由字母组成、不包含任何空格字符的最大子字符串。class Solution: def lengthOfLastWord(self, s: str) -> int: new_s = s.strip().split(" ") return len(new_s[-1])先使用strip()方法将字符串的首尾空格字符去掉,再使用split()

2022-04-27 12:48:44 98

原创 力扣算法题:最大子数组合

给你一个整数数组 nums ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。子数组 是数组中的一个连续部分作者:LeetCode-Solution链接:https://leetcode-cn.com/problems/maximum-subarray/solution/zui-da-zi-xu-he-by-leetcode-solution/来源:力扣(LeetCode)著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。#根据java题解变化而来,

2022-04-26 15:30:44 197

原创 力扣算法题:搜索插入位置

2022-04-26 11:22:13 68

原创 力扣算法题:移除元素--双指针解法

给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。来源:力扣(LeetCode)题目解决方法来自力扣的题解,非个人解答。class Solution: def removeElement(self, nums: List[int], val: int) -> int:

2022-04-24 21:35:34 179

原创 力扣算法题:有效的括号-使用哈希表解决

class Solution: def isValid(self, s: str) -> bool: if len(s)%2!=0: return False #定义一个哈希map,键为右括号,值为左括号 pairs = { ")":"(", "]":"[", "}":"{" } #定义一个空列表也可以写作stack=l

2022-04-24 20:04:43 213

原创 力扣算法题:最长公共前缀-横向扫描

class Solution: def longestCommonPrefix(self, strs: List[str]) -> str: if not strs: return "" #定义前缀为数组中第一个字符串,并计算数组长度赋值给count prefix, count = strs[0], len(strs) #遍历余下的数组元素 for i in range(1,count): #通过l

2022-04-23 16:53:36 193

原创 力扣算法题:罗马数转整数

class Solution: SYMBOL_VALUES = { 'I':1, 'V':5, 'X':10, 'L':50, 'C':100, 'D':500, 'M':1000, } def romanToInt(self, s: str) -> int: #先定义一

2022-04-23 15:44:58 224

原创 macos设置终端pip安装包在pycharm中使用

macos设置终端pip安装包在pycharm中使用当python和作为IDE的pycharm环境都好了之后,需要在终端现将python加入系统环境变量,步骤如下:vim .bash_profile在这个配置文件的最后将python加入系统环境变量export PATH=$PATH:/Library/Frameworks/Python.framework/Versions/3.7/bin然后保存退出并在终端执行source .bash_profile使设置生效接着打开pycharm先在pych

2022-04-17 19:45:34 1505

原创 MySQL:SQL语句中出现的offset的作用

在刷Leetcode的sql题目https://leetcode-cn.com/problems/second-highest-salary/select (select distinct salary from Employee order by salary desc limit 1 offset 1 ) as SecondHighestSalary;这里出现了offset,在以往面试中问到的sql题目,基本都是连接,去重,排序,没有使用过offset,查找了下这个offset的用法,意思是跳过

2022-03-08 19:29:09 1230

原创 MySQL中的DATEFDIFF函数

MySQL中的DATEFDIFF函数获取两个日期的时间间隔为1天:datediff(w1.recordDate,w2.recordDate)=1select w1.id from Weather w1,Weather w2 where datediff(w1.recordDate,w2.recordDate)=1 and w1.Temperature > w2.Temperature;

2022-03-08 18:01:26 3162

原创 vue3+django+elementplus 前后端分离项目开发实例(上):后端开发

声明一下,此次开发使用的是macOS系统,以下所有操作实例都是在macOS中进行一、后端开发(1)使用了python比较著名的一个web开发框架-Django框架,在接口设计中使用了Django下的restframework框架需要安装的模块:第一步:我的电脑装的是pyton3以及pip3,所在在终端安装django使用如下命令 pip3 install django第二步:pip3 install djangorestframework. //序列化使用,为了将对象转化为json数据传给

2022-02-19 19:36:02 3761 1

原创 本地开发项目配置只访问到本地环境

本地开发项目配置只访问到本地环境背景内部的一个自动化测试平台需要加上一些功能模块,需要在本地进行开发,但是在访问本地环境后跳出来登录界面,是需要钉钉账号登陆的,钉钉账号登录之后就又跳转到了远程服务,而不是本地。解决方法方法一:获取远程服务的登录token,放在本地服务的请求中加入token后请求背景内部的一个自动化测试平台需要加上一些功能模块,需要在本地进行开发,但是在访问本地环境后跳出来登录界面,是需要钉钉账号登陆的,钉钉账号登录之后就又跳转到了远程服务,而不是本地。解决方法方法一:获取远程服务的

2022-01-11 15:46:07 244

原创 算法--12.堆排序前传-树与二叉树

什么是树?树是一种数据结构。 比如:目录结构树是一种可以递归定义的数据结构树是由n个节点组成的集合:1、如果n=0,那这就是一棵空树2、如果n>0,那存在1个节点作为树的根节点,其他节点可以分为m个集合,每个集合本身又是一棵树重要概念根节点、叶子节点树的深度(高度)树的度孩子节点/父节点子树什么是二叉树二叉树:度不超过2的树每个节点最多有两个孩子节点两个孩子节点被区分为左孩子节点和右孩子节点如下图满二叉树与完全二叉树满二叉树:一个二叉树,如

2021-06-08 10:16:53 57

原创 算法--11.快速排序

# -*- coding:utf-8 -*-# @Time :2021/5/28 14:42# @Author :wangwei# @Software :PyCharmdef partition(li,left,right): tmp = li[left] while left < right: while left < right and li[right]>=tmp:#从右面找比tmp小的数 right -=

2021-05-31 10:28:54 70

原创 算法--10.插入排序

插入排序以扑克牌为例进行讲解初始时手里(有序区)只有一张牌每次(从无序区)摸一张牌,插入到手里已有牌的正确位置如下图:假设我们现在手里有这样几张牌[2,1,5,3,7,9,8,4,6],2是我们手里的牌,而2后面的牌是我们要依次去摸的牌,规定我们每次只能摸一张牌,且手里的牌和摸到的牌需要根据从小到达顺序排列好,那么我们将实际问题以代码的形式展示:def insert_sort(li): for i in range(1,len(li)):#摸到的牌的下标,摸牌的次数

2021-05-25 22:39:47 70

原创 算法--9.选择排序(Select sort)

选择排序什么是选择排序一趟排序记录最小的数,放到第一个位置再一趟排序记录列表无序区最小的数,放到第二位置…算法关键点:有序区和无序区最小数的位置,记录无序区最小数的位置,默认的无序区的第一个数为最小数,通过后面的数和前面的数比较,最后更新最小数的位置,继续遍历完之后就会保存成一个有序的数列。实际举例def select_sort(li): for i in range(len(li)-1): min_location = i for j in ran

2021-05-23 14:09:43 111

原创 算法--8.冒泡排序(Bubble Sort)

什么是冒泡排序?冒泡排序(Bubble Sort)列表每两个相邻的数,如果前面比后面大,则交换这两个数一趟排序完成后,则无需区减少一个数,有序区增加一个数代码关键点:趟、无序区范围举例图中是一个列表,列表中的元素排序以及对应的索引如图所示:当进行第i趟的排序时无序区的范围(target_list[0,n-i],元素是n-i个,无序区最后一个数的索引是n-i-1)需要进行排序的趟数:len(target_list)-1解析:第0趟排序第0个元素是7,此时指针指在7的位置,比第1个元素

2021-05-16 12:56:59 106

原创 算法--7.列表排序

什么是排序?排序:将一组“无序”的记录列表调整为“有序”的记录列表。什么是列表排序?列表排序:将无序列表变为有序列表输入:列表输出:有序列表排序的种类升序降序内置排序函数sort()常见排序算法一般:冒泡排序、选择排序、插入排序常用:快速排序、堆排序、归并排序其他:希尔排序、计数排序、基数排序...

2021-05-16 11:23:28 119

原创 算法--6.二分查找(Binary search)

什么叫二分查找?二分查找:又叫折半查找,从有序列表的初始候选区lis[0,n]开始(初始候选区中的元素就是列表中的所有元素),通过对待查找的值与候选区中间值的比较,可以使候选区减少一半。二分查找实例二分查找的实例:在列表[1,2,3,4,5,6,7,8,9]中找出3所在的索引。通过代码运行的截图可以看出该列表的元素3的索引位置是2。def binary_search(target_list, target_value): left = 0 right = len(target_li

2021-05-15 23:03:05 313

原创 算法--5.顺序查找

什么是查找?在一些数据元素中,通过一定的方法找出与给定的关键字相同的数据的过程。什么是列表查找?列表查找也可以叫做线性表查找,就是从列表中查找元素输入:列表,待查找元素输出:元素下标(当元素不存在时返回None什么是内置列表查找函数?index()什么是顺序查找?顺序查找(Linear Search):也叫线性查找,从列表第一个元素开始,顺序进行搜索,直到找到元素或搜索到元素列表的最后一个元素为止。下面使用代码来展示一下顺序查找:def linear_search(target_l

2021-05-14 12:50:39 262

空空如也

空空如也

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

TA关注的人

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