自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 python-leetcode刷题日记

是否加前面的数据取决于前面的数据是否大于0,如果大于0,那么加上前面的数据可以会更大,从而计算出数组最大的子数组。思路:计算一段一段的时间可以获取最大的利益数,意思就是在下一个数据小于上一个数据的时候,此段数据就结束,并计算此段数据的盈利情况。比方说,'a' 的价值为 1 ,'b' 的价值为 2 ,以此类推,'z' 的价值为 26。否则,如果这个字符在 chars 中的位置为 i ,那么它的价值就是 vals[i]。将数据依次遍历,大于后面的数据就加上当前的数据,小于后面的数据的时候就减去当前的数据。

2024-08-22 16:03:09 496

原创 Leetcode刷题小汇总

消除重复项,合并区间:例如:输入:intervals = [[1,3],[2,6],[8,10],[15,18]]输出:[[1,6],[8,10],[15,18]]解释:区间 [1,3] 和 [2,6] 重叠, 将它们合并为 [1,6].​class Solution(object): def merge(self, intervals): intervals.sort() #对输入的列表进行排序 he = [intervals[0]] ...

2022-05-23 22:18:18 800

原创 算法之列表模拟抢凳子游戏,图,链表(书)

抢凳子游戏:思路:一个随机数,将对应位置的淘汰,将其他的放到第一位:import random​list = [1, 2, 3, 4, 5, 6, 7]​while True: if len(list) == 1: # pop的只剩最后一位了 print('游戏结束,{}获得了胜利'.format(list[0])) break hit = random.randint(1, 3) # 随机数指定倒数第几位淘汰 whil...

2022-05-13 23:46:01 686

原创 Leetcode--回溯算法(组合总数,全排列)

今天在Leetcode的某个评论区看到一张图片,终于让我对不知如何下手的回溯算法清晰了一些,总结下来就是第一遍将所以的数据拿出来,剩下的通过回溯调用的办法,依次的加上去,不符合条件的直接进行剪枝,所以需要进行return条件的设置,进行剪枝。不过还需要多联系,共勉吧组合总和给你一个 无重复元素 的整数数组 candidates 和一个目标整数 target ,找出 candidates 中可以使数字和为目标数 target 的 所有 不同组合 ,并以列表形式返回。你可以按 任意顺序 返回这些组合。

2022-05-13 23:39:01 1089

原创 python基础知识合集

python基础部分字符串find:从左往右,只要遇到一个符合的就返回位置,如果没有找到合适的就返回-1rfind:从右往左找index:也是查找,但是找不到会报错,所以一般用findcount:用于计数 src.count('.')查找.的个数判断: startwith,endwith,isalpha,isdigit,isalnum,isspace(返回的都是布尔值)字母数字组合filename = ''s = "qqwertyuiopasdfghjklzxcvbn

2022-05-10 22:55:49 553

原创 leetcode-最小路径和、括号生成

最小路径和给定一个包含非负整数的 m x n 网格 grid ,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。说明:每次只能向下或者向右移动一步。示例 1:输入:grid = [[1,3,1],[1,5,1],[4,2,1]] 输出:7 解释:因为路径 1→3→1→1→1 的总和最小。思路:动态规划的思想,计算出每一步所需要的代价,那么第一横排和第一列只能单向的走,代价进行简单的累加即可,剩下的数据为该位置的数据加上上面或者左侧的数据,取最小值即可,最后返回最后一个数

2022-05-04 00:27:48 149

原创 leetcode刷题日记记录(含简单的思路)

电话号码的字母组合给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。答案可以按 任意顺序 返回。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。示例 1:输入:digits = "23"输出:["ad","ae","af","bd","be","bf","cd","ce","cf"]class Solution(object): def letterCombinations(self, digits): """ ...

2022-05-03 10:18:22 260

原创 Leetcode刷题——(在排序数组中查找元素的第一个和最后一个位置,三数之和)

在排序数组中查找元素的第一个和最后一个位置给定一个按照升序排列的整数数组 nums,和一个目标值 target。找出给定目标值在数组中的开始位置和结束位置。示例 1:输入:nums = [5,7,7,8,8,10], target = 8输出:[3,4]思路:主要是使用二分法,用target和中间的数进行比较,如果mid大于target,那么结果一定在左边,反之亦然,每一次可以将范围缩小一半。具体的思路:在left和right中,让left找到刚刚小于target的坐标,将该坐标+1返回

2022-04-30 23:55:14 224

原创 Leetcode刷题——对角线遍历、无重复字符的最长子串、盛最多水的容器

对角线遍历示例 1:输入:mat = [[1,2,3],[4,5,6],[7,8,9]]输出:[1,2,4,7,5,3,6,8,9]思路:将矩阵的坐标写出来,由图可以发现,下标加起来为偶数的在一起,下标加起来为奇数的在一起,创建一个数组嵌套5个数组分别存放,在一横排中,下标为奇数的却应该在该坐标的最后一个,偶数的在数组的第一个,于是。。。class Solution(object): def findDiagonalOrder(self, mat): """...

2022-04-30 00:32:09 397

原创 leetcode刷题日记(含简单思路)——python

长度最小的子数组示例 1:找出该数组中满足其和 ≥ target 的长度最小的 连续子数组输入:target = 7, nums = [2,3,1,2,4,3]输出:2解释:子数组 [4,3] 是该条件下的长度最小的子数组。思路:主要使用双指针滑动窗口,快的滑动,当数据大于目标值,则慢的哪一个向右滑动,并获得计算数组的长度class Solution(object): def minSubArrayLen(self, target, nums): """...

2022-04-27 00:11:08 186

原创 Leetcode双指针刷题日记(python)

数组拆分 I示例 1:输入:nums = [1,4,3,2] 输出:4 解释:所有可能的分法(忽略元素顺序)为: (1, 4), (2, 3) -> min(1, 4) + min(2, 3) = 1 + 2 = 3 (1, 3), (2, 4) -> min(1, 3) + min(2, 4) = 1 + 2 = 3 (1, 2), (3, 4) -> min(1, 2) + min(3, 4) = 1 + 3 = 4 所以最大总和为 4 思路:两两

2022-04-24 23:38:15 833

原创 Leetcode刷题日记(含简单的思路)

消除重复项,合并区间:例如:输入:intervals = [[1,3],[2,6],[8,10],[15,18]]输出:[[1,6],[8,10],[15,18]]解释:区间 [1,3] 和 [2,6] 重叠, 将它们合并为 [1,6].​class Solution(object): def merge(self, intervals): intervals.sort() #对输入的列表进行排序 he = [intervals[0]] ...

2022-04-23 23:22:05 917

原创 ERROR: Could not find a version that satisfies the requirement

不知道为啥,好几次安装包就会报上面的错误:每次的这个加速的方法都能解决我的问题:pip install 包名-i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com --trusted-host pypi.douban.com写个博客记录一下,省得每次都去网上找...

2022-03-12 10:06:51 1143

原创 pycharem连接appium报错,UnknownError: An unknown server-side error occurred while processing the command

新安装的appium报错UnknownError: An unknown server-side error occurred while processing the command,太坑了,弄了好久终于解决了,具体如下:1、首先检查输入的 appPackage和appActivity输入的是否正确;如果是模拟器自带的软件,输入:adb shell dumpsys activity activities | findstr Run2、也可能是输入正确,但是没有权限访问,可以尝试换一个.

2022-03-08 15:38:55 10021 2

原创 软件测试——移动端测试adb基础命令(笔记)

基于Appium的Android自动化测试:ADB的基本原理(面试可能会问):Android Debug Bridge的简称,安卓平台的调试工具ADB的3部分:1、client端:运行在开发机中,即开发电脑,用于发送ADB命令2、Server端:运行在开发电脑上,用于管理client端和手机Deamon之间的通信3、Deamon守护进程:运行在调试设备中,手机或者模拟器,用于接受并且执行ADB命令。ADB命令1、连接android手机或者模拟器(首先要开发者模式,打开USB调试模

2022-03-06 11:51:44 2286

原创 python安装模块时,报错pip._vendor.urllib3.exceptions.ReadTimeoutError:

今天安装appium-python-client,,多次安装一半报错,pip._vendor.urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool(host='files.pythonhosted.org', port=443): Read timed out由于太慢,下载可能会连接外网,连接超时;百度解决了;只需要延长报错时间pip --default-timeout=1000 install -U 模块名我安装appium-py

2022-03-06 11:43:35 884

原创 软件测试——linux操作(目录管理、文档编辑)

Linux操作系统装好之后或者其他时候可以用虚拟机 的功能进行拍照,存档,以免后面出问题恢复home/是用户目录 /mnt:软件、硬优盘等外设预设的挂载点 /tem临时文件,会被定期清理掉/opt 可选的应用程序,我们自己装的软件文件.代表当前目录 ..上级目录 pwd:显示目前的目录目录管理:mkdir:创建路径 -p:如果没有,就会创建一个多级目录mv:剪切或者重命名(第一个是剪切的路径、第二是剪切到的路径)cp:复制 (源文件 目标路径) 文件夹的拷贝加 -r +路径 可以

2022-03-04 22:02:30 660

原创 web自动化(frame操作、文件上传、多窗口切换)笔记

frame操作.switch_to.frame切入frame框架里面che.switch_to.frame(che.find_element_by_id('login_frame')).switch_to.default_content()切出frame框架外面文件上传文件上传的原生的是input的时候,定位到inputdriver.find_element('id', 'login').send_keys('文件的地址')就可以上传了多窗口切换c..

2022-03-02 23:14:40 212

原创 web自动化设置等待时间的3种方式

(1)强制\固定等待:(无论如何都会等待相应的时间)time.sleep() 优点:用法非常简单,一般用于项目的调试,或者用于等待元素状态、本文发生变化确定:等待时间固定,脚本中大量的使用,会导致脚本的运行效率低(2)隐式等待/全局:(只有在元素不存在才会生效)driver.implicitiy_wait(30)设置一次之后(隐式等待只需设置一次),全局有效,在元素没有出现前只等待设置的最多时间,在等待时间内,该元素出现就停止等待。(3)显示等待:可针对每一个元素进行单独设置,等

2022-03-02 23:10:47 1114

原创 软件测试——web自动化webdriver定位方式(笔记)

Selenium webdriver多平台;多语言(Java,python,Ruby,php,c#,Javascript),简单(API简单),灵活(用开发语言驱动)自动化测试的love四步法填写:.send(" content")webdriver常用的8种定位方式:name属性可能有多个,那么多个属性的时候,find_elements('name','')[],下标可以找到对应的元素,不写下标就会返回全部的。class name 不能定位复合样式...

2022-03-02 23:08:51 647

原创 软件测试——自动化测试设计原则以及情况

适合自动化的情况:1、需求稳定,不会频繁的变更2、研发和维护的周期长,需要频繁的执行回归测试3、需要在多种平台上重复的运行相同测试场景4、性能、兼容性通过手工测试无法实现,或者手工测试的成本太高5、被测软件的开发比较规范,能够保证系统的可测试性6、测试人员具备一定的编程能力狭义的自动化测试就是UI的自动化测试自动化设计原则:1、集中在需要重复的基本功能、正向路径操作,不要加入复杂的异常测试2、尽量保持用例之间的独立,最好不要形成依赖关系3、如果对数据进行了修改,

2022-02-27 23:19:53 898

原创 Python多线程以及反射基础(笔记)

多线程编程进程是资源分配的最小单位,线程是CPU调度的最小单位每个进程至少有一个线程(主线程)import threadingimport timethreadlist = ['hi', 'ki', 'jiji']​def action(func): for item in func: print(threading.current_thread().getName() + item) #产生的线程执行的工作 time.sleep(1)​...

2022-02-26 22:06:33 467

原创 python之文件操作以及异常处理(笔记)

python操作文件的基本语法格式:with open(r'文件路径',mode='文件操作模式')as f:文件具体操作代码 (f是变量名,自己使用可以灵活变化)open方法只能读取txt、csv等文本文件,不能读取word,excel等三方文件,第三方文件必须用专门的库才可以进行操作r读模式,只能进行读模式,不能进行写操作w写模式,只能进行写操作,不能进行读操作。如果w模式打开一个已经存在的文件,会立即清空以前的文件内容,打开的文件不存在,会自动创建对应的文件a追加写模式:也不能读操

2022-02-26 22:04:37 517

原创 Python基础之面向对象编程

python面向对象编程具有封装、继承、多态的特性;继承:子类定义了自己的--init--方法的时候,务必要先显示调用父类的--init--方法,否则父类会初始化失败面向过程就是一件事的先后顺序来的面向对象:将一件事情想象为一个对象,然后提取对该对象的所有的共同的方法和属性,利用方法和属性完成这件事情的假想;类:具有相同属性和方法的总称对象:类的实例叫做对象self的作用:主要是在定义实例函数表明当前是一个实例方法,只能由类的实例来调用self在定义方法时必须以第一个参数的形

2022-02-26 22:00:45 1064

原创 python基础之模拟ATM 注册 、登录 、查询余额 、存款 、取款 、转账 、退卡(原代码)

users = [['lili', '123456'], ['kk', '345678']]def getmuen(): muen=''' ****欢迎来到WonluiuATM**** *******操作菜单******* ****1、注册 2、登录 3、退卡**** ''' while True: print(muen) opt=input('请输入你想要选择的菜单:') if opt == '1': .

2022-02-05 16:21:14 2158

原创 python基础之数据类型(笔记)

切片(只针对字符串)关于字符串的选取:[start;end;step]start可以取到,而end是取不到的(可以理解为闭区间)print(h[::-1]) step=-1表示的倒叙取print(h[-2:-10:-1]) 倒叙取一段字符串常用的函数:h='bgjsmherdkhterkfhtrieu'j=h.split('t')print('*'.join(j))h='5555bgjsmherdkhte rkfhtrieu 'prin...

2022-02-05 10:28:55 515

原创 python基础(占位符以及数据处理的方法)

pythoninput():接受用户输入,默认返回的是一个字符串a=3.141567890print("π的值为:%.10f" %a)那么%f默认返回6为小数位,在前面添加.10就会返回10为小数点,如果没有10为小数,会自动补零;ctrl+/快速注释常用的占位符:%d,整数 %f 浮点数 %s 字符串 %% 表示符号本身a = '小张'b = "小吴"print("他们的名字分别是%s、%s" %(a,b))format占位符:{}格式:b=100/3

2022-02-05 10:22:31 1210

原创 测试之回归测试(笔记)

回归测试'定义:指修改了旧代码后,没有引入新的错误或导致其他代码产生错误。可以在任意一个阶段,包括单元测试、集成测试、和系统测试目的:检查缺陷是否真的被修复了 2、修复后是否引入新的缺陷策略:完全回归:全部重新测试选择性回归:有选择的重新执行部分在前期阶段建立的测试用例,来测试被修改的 覆盖修改法:针对被修改的部分,选取或重新构造测试用例验证没有错误再次发生 周边影响法:不仅修改的,还需要分析修改的扩散影响,对那些受到修改间接影响的部分选择测试用例来验证 指标达

2022-02-05 10:17:45 864

原创 软件测试基础 之测试思路(笔记 重要)

测试的思路:1、首先检查界面元素是否显示正确2、测试页面的基本功能。如果既有表单(有输入域又有提交按钮的页面),也有列表,则优先测试表单功能是否正常3、针对表单在测试时,需要依据表单里面的每个字段依次进行测试。凡是用户可能输入的输入域,都要使用等价类和边界值根据字段进行考虑4、如果多个字段有关联关系和制约关系,那么在测试完单个字段的等价类和边界值之后,应该继续使用判断表等测试方法进行结合测试;5、表单测试完后,在测试列表中的内容;6、当单个表单的内容都测试完毕后,在结合流程分析法测.

2021-12-06 23:38:39 5546

原创 软件测试基础(测试内容 笔记)

测试内容测试流程分析:需求评审、测试需求分析计划:测试计划和方案文档的编写设计:测试用例设计实现:编写测试用例,测试脚本执行:搭建测试环境,执行测试脚本、报告缺陷需求评审:没有明确的用户协议/标准/规范 继承性需求 竞品分析测试设计:将测试点转化为测试用例的过程叫做测试设计测试用例:就是一种用来说明具体如何测试操作并验证结果的文档;用例测试:测试编号: TC:TestCase TC_系统名 _ 功能测试标题:用一句话来表述用例是测试哪一个测试点

2021-12-06 23:35:17 630

原创 软件测试基础(笔记)

软件测试系统测试重点:A、人工或者自动的手段B、过程C、满足规定的要求D、弄清预期结果和实际结果之间的差别必备的内功:软件的生命周期—从生到死 ; 常见测试模型——窥一斑而之全貌 ; 软件质量模型软件测试分类;项目相关文档MCP:Minimal concept Principle 最小概念原则;一、软件的生命周期:计划阶段:确定开发目标完成项目的可行性研究对项目的进度进行预估和安排制定实施的计划需求分析阶段:分析整理项目的需求项觉

2021-12-02 23:13:35 324

原创 Javascripts之DOM和节点获取:

DOM:document object model: 文档对象模型节点的类型:元素节点 <div> </div>属性节点 id\class ...文本节点 div文本window.onload:代码在整个业面后面执行;node.getElementByTagName("");伪数组:使用起来和数组类似node.getElementByClassname("");通过class名字获取符合条件的元素节点;node.getElementByName..

2021-11-03 22:57:01 208 1

原创 Javascript节点操作的案例(原码)

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <titl...

2021-11-03 22:54:43 507

原创 Javascript的节点的获取以及修改

访问子节点:childNodes 访问当前节点所有的子节点;firstChild:访问节点中的首位;lastChild:访问节点中的最后一个;将纯白文本剔除:(就是只算元素节点)children:访问孩子节点; firstElementchild,lastElementchild,nextElementchildnextSibing:访问当前节点的兄弟节点的下一个节点;previousSibing:访问当前节点的兄弟节点的上一个节点;attributes 获取当前节点上的所有

2021-11-03 22:37:06 750

原创 javascript之定时器以及秒表(含原码)

日期:var data=new Date(年,月,日,时,分,秒,毫秒);也可以 var data=new Date(10000),不过会是以1970年1月1日,00点为参照的Date.parse()格式:Date.parse(日期对象)功能:可以将日期对象转为毫秒数;d.getTime()/d.setTime();格式:日期对象.getTime/setTime功能:获取当前日期转为毫秒数;data.setTime(100);重置时间(以1970年为标准)传入日期

2021-10-19 23:10:14 231

原创 javascript(敏感词过滤以及邮箱验证)

敏感词过滤: var arr=[/靠/ig,/cnm/ig,/cao/ig,/nm/ig,/爬/ig] function btnClick() { var otex1=document.getElementById("tex1"); var omsg=document.getElementById("msg"); var onvalu=otex1.value; for (let i = 0; i &...

2021-10-19 23:08:10 296

原创 javascript之随机验证码

随机验证码随机的数字: function numcode(n) { var arr=[]; for (let i = 0; i < n; i++) { var num=parseInt(Math.random()*10); arr.push(num); } return arr.join(""...

2021-10-19 23:05:13 414

原创 javascript基础(基础语法)

基础document.write("");像页面里中输出一个内容;console.log("哈哈哈");像控制台输出一个内容;<button onclick="alert('az')"> 按钮 < /button>可以将js代码写到标签中;用onclick;<a href="javascript:alert('你真棒')">我来辣</ a>但是它属于结构与行为耦合,不方便维护,不推荐使用;基本语法var a:用来声明一个变量..

2021-10-19 23:02:56 70

原创 GUI fame窗口

Frame窗口package GUI1;​​import java.awt.*;​public class Frame{ public static void main(String[] args) { java.awt.Frame F1=new java.awt.Frame("我的图形界面"); F1.setVisible(true); //可视化 F1.setSize(500,300); //边框的大小​ ...

2021-10-01 10:11:06 73

原创 前端之流式布局

inline-block:用了之后会有间隙,可以把他放到一排,就可以了没有空隙了vertical-align:必须作用与inline-block类型,改变的是对齐方式,不是垂直居中的,可以加行高实现对齐;z-index:根据其数值的大小对齐,大的居上关于透明度:opacity:background:rgba(R,G,B,透明度)当单图片撑开不能对齐的时候,可以设置:vertical-align:middle(中线对齐)flex布局:justify-content: 属性:flex-s

2021-10-01 10:08:22 221

思维导图(1).xmind

思维导图(1).xmind

2022-06-05

空空如也

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

TA关注的人

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