- 博客(35)
- 收藏
- 关注
原创 Leetcode.300 最长递增子序列
是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。最长递增子序列是 [2,3,7,101],因此长度为 4。,找到其中最长严格递增子序列的长度。
2024-10-11 17:07:24
464
原创 Leetcode283.移动零
定义 i 和 j 两个指针,i 指针指向调整队列中的末尾0元素,j 指针遍历数组,对于 j 指针的操作有。移动到数组的末尾,同时保持非零元素的相对顺序。,必须在不复制数组的情况下原地对数组进行操作。,编写一个函数将所有。
2024-10-09 21:13:39
413
原创 Leetcode203.移除链表元素-Python
考虑到如果要移除的元素如果是头节点的话需要head = head.next,那么每次都需要判断,头节点和非头节点需要不同的处理方式较为复杂,所以此处引入虚拟头节点避免了这一问题。移除元素时需要知道上一个元素,将上一个元素指向要移除元素的下一个元素,所以需要初始化一个指针,指向当前节点,遍历链表进行循环,循环条件是当前指针的下一个元素不为空。,请你删除链表中所有满足。给你一个链表的头节点。
2024-10-07 19:15:23
397
原创 Leetcode.5 最长回文子串 (快手面试题)
每次判断为回文子串时,与最长回文子串进行比较,若长度更长,则更新起始指针与长度。标记回文子串的开始和max_len表示最长的回文子串长度。"aba" 同样是符合题意的答案。本题在以上基础上增加了。
2024-10-01 00:36:43
328
原创 Leetcode 11.乘最多水的容器(字节,快手面试题)
图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下,容器能够容纳水(表示为蓝色部分)的最大值为 49。5.每次判断左右指针指向值的大小,总是为了保证容积的最大值,所以移动指针值小的那一个。3.若==2,说明只有两个元素,宽为1,可容纳体积为,高为最小元素。轴共同构成的容器可以容纳最多的水。返回容器可以储存的最大水量。4.初始化体积为左右指针的较小值为高,宽为左右指针的差值。2.首先判断所给数组的长度,若<=1,则直接返回0。可容纳的最大体积由最小的那个值决定。
2024-10-01 00:19:16
457
原创 Leetcode 136 只出现一次的数字
部分内容转自力扣官方题解 链接:https://leetcode.cn/problems/single-number/solutions/242211/zhi-chu-xian-yi-ci-de-shu-zi-by-leetcode-solution/3. 异或运算满足交换律和结合律,即 a⊕b⊕a=b⊕a⊕a=b⊕(a⊕a)=b⊕0=b。找出那个只出现了一次的元素。1. 任何数和 0 做异或运算,结果仍然是原来的数,即 a⊕0=a。2. 任何数和其自身做异或运算,结果是 0,即 a⊕a=0。
2024-09-22 00:57:46
334
原创 Leetcode 674 最长连续递增序列-Python
尽管 [1,3,5,7] 也是升序的子序列, 但它不是连续的,因为 5 和 7 在原数组里被 4 隔开。1.首先明确dp数组的含义,dp[i]表示以下标为i的元素结尾的最长连续递增子序列的个数。2.初始化dp数组为0,dp[0]为1,表示以第一个数为结尾的最长连续递增子序列个数为1。3.遍历数组,判断当前值是否小于前一个值,满足连续递增的条件。最长连续递增序列是 [1,3,5], 长度为3。给定一个未经排序的整数数组,找到最长且。,并返回该序列的长度。)确定,如果对于每个。就是连续递增子序列。
2024-09-22 00:01:17
325
原创 力扣 LCR 020 回文子串 -Python
若 dp[ i + 1 ][ j - 1 ] 为True,则内部也为回文子串,那么dp[i][j]也为True,也为回文子串。2.递推公式:当s[i]=s[j] 也就是当前左右对称指针相等时,判断内部是否为回文子串。具有不同开始位置或结束位置的子串,即使是由相同的字符组成,也会被视作不同的子串。6个回文子串: "a", "a", "a", "aa", "aa", "aaa"1.定义dp数组,dp[i][j]的含义是,从下标i到下标j的数是否是回文数。三个回文子串: "a", "b", "c"
2024-09-21 14:15:38
582
1
原创 Leetcode 56.合并区间-Python
区间 [1,3] 和 [2,6] 重叠, 将它们合并为 [1,6].一个不重叠的区间数组,该数组需恰好覆盖输入中的所有区间。表示若干个区间的集合,其中单个区间为。请你合并所有重叠的区间,并返回。2.result数组中存放最终结果。1.将数组按元素中第一个值排序。与结果数组中保存的最后一个。3.遍历数组,判断数组中。
2024-09-20 23:52:52
330
1
原创 LeetCode 88.合并两个有序数组-Python
中,所以复制一个数组nums1_copy,将更新后的数组放在原数组nums1当中,两个指针i,j,i遍历nums1_copy,j遍历nums2。,5,6] ,其中斜体加粗标注的为 nums1 中的元素。最终,合并后数组不应由函数返回,而是存储在数组。需要合并 [1,2,3] 和 [2,5,6]。因为合并后数组不应由函数返回,而是存储在数组。个元素表示应合并的元素,后。中,使合并后的数组同样按。
2024-09-09 14:06:17
317
原创 LeetCode LCR:007.三数之和-Python
2. 要实现 a + b + c = 0 那么我们假设a从a[0]也就是最小的数开始遍历,b为左指针 left 指向a的下一个元素,c为右指针 right 指向数组最后一个元素也就是最大的数,开始遍历。3.此时相当于 a = nums[i],b = nums[left],c = nums[right]。一般想到一个元素是否出现过或者是否在一个集合里的时候,会想到用哈希表,但此题的条件是。4.要保证三元组不重复,就要保证三元组中每一个元素和另一个三元组不重复。用哈希存储较为麻烦,所以我们可用双指针法。
2024-09-09 13:25:51
488
原创 LeetCode 1.两数之和-Python
本题需要找出两个数和为目标值且返回其下标,则需要一个哈希表来存放我们遍历过的元素和下标,然后在遍历数组的时候去询问这个集合,某元素是否遍历过,也就是是否出现在这个集合。判断目标值与此元素的差,是否已遍历存储过。当我们需要查询一个元素是否出现过,或者一个元素是否在集合里的时候,就要第一时间想到哈希法。因为 nums[0] + nums[1] == 9 ,返回 [0, 1]。你可以假设每种输入只会对应一个答案,并且你不能使用两次相同的元素。整数,并返回它们的数组下标。,请你在该数组中找出。
2024-09-09 12:56:09
392
原创 Leetcode 209.长度最小的子数组-Python
窗口左边不动,右指针进行遍历数组扩大窗口,当窗口内的和 >= 目标数时,先记录当前窗口的长度,更新最小长度,再缩小窗口,左指针left向右移动,窗口内的和变小,继续判断和与目标数的大小,当和>=目标数时重复以上操作,直到和小于目标数时,移动右指针,扩大窗口。求连续子数组,一般使用滑动窗口,双指针遍历控制窗口左右。子数组 [4,3]是该条件下的长度最小的子数组。如果不存在符合条件的子数组,返回。找出该数组中满足其总和大于等于。个正整数的数组和一个正整数。
2024-09-09 00:16:59
271
原创 Leetcode LCR 016:最长非重复子串-Python
一般求连续字符使用滑动窗口思想,使用left,right两个指针控制窗口的左和右。因为无重复字符的最长子字符串是 "abc",所以其长度为 3。,请你找出其中不含有重复字符的。
2024-09-08 22:54:20
352
原创 LeetCode 53. 最大子数组和
以下标 i 为结尾,也就是以nums[ i ]为结尾的最大子序列和有两种情况,两者取最大值。,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。dp[0]意思是以0为下标的最大子数组和,保存的就是nums[0]本身。本题遍历顺序为从前往后,因为求最大值所以每次存np[i]的最大值。:np[i] 保存的是以下标为 i 为结尾的,最大子数和。连续子数组 [4,-1,2,1] 的和最大,为 6。此处返回的是np数组中最大值。是数组中的一个连续部分。
2024-09-08 22:13:52
587
1
原创 代码随想录-01-0708-二分查找
给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。
2024-07-09 01:04:36
276
1
原创 Mysql 多表连接
- 左外连接:以left join关键字左边的表为主表,查询主表中所有数据,以及和主表 匹配的右边表中的数据。左外连接相当于查询表1(左表)的所有数据,当然也包含表1和表2交集部分的数据。右外连接相当于查询表2(右表)的所有数据,当然也包含表1和表2交集部分的数据。案例:查询员工表中所有员工的姓名, 和对应的部门名称。查询两表或多表中交集部分数据。外连接分为两种:左外连接 和 右外连接。
2024-04-27 22:46:12
368
2
原创 Python练习之两数之和
给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出和为目标值 target 的那两个整数,并返回它们的数组下标。插入到哈希表中,即可保证不会让。,我们首先查询哈希表中是否存在。
2024-04-26 14:41:08
279
2
原创 Python基础练习------实现找1-100的质数
质数是指只能被1和自己整除的数,外层循环表示循环1-100每一个数字,内层循环表示遍历每一个比自己小于等于的数,进行取余运算,若取余为0表示整除,标志k加一,当k的值为2表示只被1和自己整除,则是质数。
2024-04-25 16:18:24
527
2
原创 接口自动化测试--requests
requests库用来发送http请求以及接受http响应的python第三方库,主要用于接口自动化测试。
2024-04-24 21:39:25
499
1
原创 python排序算法
以第一个数为基准,找到剩下的数中最小的数和它比较,若小则交换,若第一个数已是最小,则再已第2个数为基准比较,遍历所有元素,最后一个元素不用比较,所以外层循环是比较的轮次,内层循环是从基准数进行向后遍历,若是后面的数比他小,则将后面的数记作较小的数,一步步比较,直到比较到最后一个数则可判断出最小的数,一个轮次比较完毕。它的空间复杂度是O(nlgn)。冒泡排序分为内循环和外循环,外循环是排序轮次,特点是每一次排序都会将最大的排在最后,内循环是每一轮排序需要排序的元素个数,所以时间复杂度是O(n^2)
2024-04-24 16:07:45
193
1
原创 Pytest前后置(固件,夹具的处理)
为什么有前后置?web自动化执行用例之前,请问需要打开浏览器吗?用例执行后需要关闭浏览器?答案是需要的,每一次都需要执行,每次都要重复执行,所以为了简化相关操作引入前后置。
2024-04-23 20:56:28
224
原创 Docker基础知识
一句话总结:docker是一种容器技术,解决软件跨环境迁移的问题。作用:可以打包,分发和部署。简化运维部署操作,大程度解决了软件跨环境迁移的问题(开发环境、测试环境、生产环境)
2024-04-23 15:51:44
924
1
原创 pytest单元测试框架
它就是自动化测试组长针对一个项目开发的一个代码框架,这个框架封装了很多的基础模 块,报告模块等等。1.pytest是一个非常成熟的python的单元框架,比unittest更灵活。2.pytest可以和selenium,requests,appium结合实现web自动化,接口自动化,app自 动化3.pytest可以实现测试用例的跳过以及reruns失败用例重试。4.pytest可以和allure生成非常美观的测试报告。5.pytest可以和Jenkins持续集成。
2024-04-22 23:33:34
353
原创 python基础知识--day02
str.startswith(开始字符串,开始索引,截止索引+1)str.endswith(结尾字符串,开始索引,截止索引+1)注:若长度width小于原字符串长度,则保留原字符串。结果:keepends表示保留换行符,返回列表。结果:从左边第一个“沙沙”开始切割,返回。结果:从左往右,根据第一个开始分割,返回。结果:从右边的“沙沙”开始切割,返回。
2024-04-21 16:44:28
343
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人