- 博客(299)
- 资源 (7)
- 收藏
- 关注
原创 Robotframework+Appium+夜神模拟器环境搭建
Windows下Appium自动化环境搭建一 概述Appium是一个开源测试自动化框架,可用于原生,混合和移动Web应用程序测试。 它使用WebDriver协议驱动iOS,Android应用程序。其具备以下优点:1.可以跨平台同时支持Android、iOS2.支持多种语言,JAVA、Python、PHP、Ruby等等二 环境准备 JDK Ja...
2019-05-24 13:17:15 2980
原创 LeetCode 128. 最长连续序列 ⭐️
给定一个未排序的整数数组nums,找出数字连续的最长序列(不要求序列元素在原数组中连续)的长度。请你设计并实现时间复杂度为O(n)的算法解决此问题。4最长数字连续序列是 [1, 2, 3, 4]。它的长度为 4。9。
2024-08-21 15:05:34 296
原创 LeetCode 15. 三数之和⭐️
给你一个整数数组nums,判断是否存在三元组满足i!= ji!= k且j!= k,同时还满足。请你返回所有和为0且不重复的三元组。答案中不可以包含重复的三元组。不同的三元组是 [-1,0,1] 和 [-1,-1,2]。注意,输出的顺序和三元组的顺序并不重要。[]唯一可能的三元组和不为 0。[[0,0,0]]唯一可能的三元组和为 0。
2024-08-19 10:00:06 157
原创 Leetcode 49 字母异位词分组
给你一个字符串数组,请你将组合在一起。可以按任意顺序返回结果列表。是由重新排列源单词的所有字母得到的一个新单词。
2024-08-16 09:35:44 395
原创 LeetCode 242 有效的字母异位词
给定两个字符串s和t,编写一个函数来判断t是否是s的字母异位词。若s和t中每个字符出现的次数都相同,则称s和t互为字母异位词。sttrues= "rat",t= "car"falset如果输入字符串包含 unicode 字符怎么办?你能否调整你的解法来应对这种情况?
2024-08-15 19:11:28 307
原创 LeetCode290 单词规律
所以也是同样用两个map,一个记录a:dog这样的映射规律,一个map记录dog:a这样的映射记录。该题思路与LeetCode205 同构字符串一样,都是判断对应关系是否唯一的。当map中key存在时,如果值与当前遍历的值不相同,就返回false。中的每个非空单词之间存在着双向连接的对应规律。里的每个字母和字符串。是否遵循相同的规律。
2024-08-15 09:22:51 342
原创 LeetCode 205 同构字符串
给定两个字符串s和t,判断它们是否是同构的。如果s中的字符可以按某种映射关系替换得到t,那么这两个字符串是同构的。每个出现的字符都应当映射到另一个字符,同时不改变字符的顺序。不同字符不能映射到同一个字符上,相同字符只能映射到同一个字符上,字符可以映射到自己本身。
2024-08-14 14:01:37 343
原创 LeetCode 383. 赎金信
ransomNote和magazine,判断ransomNote能不能由magazine里面的字符构成。如果可以,返回true;否则返回false。magazine中的每个字符只能在ransomNote中使用一次。
2024-08-14 10:48:12 492
原创 LeetCode1. 两数之和
给定一个整数数组nums和一个整数目标值target,请你在该数组中找出target的那整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。[0,1]因为 nums[0] + nums[1] == 9 ,返回 [0, 1]。[1,2][0,1]
2024-08-13 10:12:44 243
原创 LeetCode 3 无重复字符的最长子串⭐️
给定一个字符串s,请你找出其中不含有重复字符的的长度。3因为无重复字符的最长子串是"abc",所以其长度为 3。1因为无重复字符的最长子串是"b",所以其长度为 1。3因为无重复字符的最长子串是"wke",所以其长度为 3。请注意,你的答案必须是的长度,"pwke"是一个子序列,不是子串。
2024-08-13 09:55:18 630
原创 LeetCode 链表两数相加⭐️
给你两个的链表,表示两个非负的整数。它们每位数字都是按照的方式存储的,并且每个节点只能存储数字。请你将两个数相加,并以相同形式返回一个表示和的链表。你可以假设除了数字 0 之外,这两个数都不会以 0 开头。
2024-08-12 11:10:27 1454
原创 LeetCode 11. 盛最多水的容器
我们能够发现不管是左指针向右移动一位,还是右指针向左移动一位,容器的底都是一样的,都比原来减少了 1。这种情况下我们想要让指针移动后的容器面积增大,就要使移动后的容器的高尽量大,所以我们选择指针所指的高较小的那个指针进行移动,这样我们就保留了容器较高的那条边,放弃了较小的那条边,以获得有更高的边的机会。在这种情况下想要让容器盛水变多,就只有在容器的高上下功夫。一开始两个指针一个指向开头一个指向结尾,此时容器的底是最大的,接下来随着指针向内移动,会造成容器的底变小,轴共同构成的容器可以容纳最多的水。
2024-08-01 11:26:28 280
原创 LeetCode 167. 两数之和 II - 输入有序数组
使用哈希表,用一个map存元素和元素对应下标,然后判断map中是否包含key为target-numbers[i]的元素,如果在就找到了。因此 index1 = 1, index2 = 2。返回 [1, 2]。因此 index1 = 1, index2 = 2。因此 index1 = 1, index2 = 3。当头+尾>target,说明尾不动的情况下,所有的和都大于target,所以需要,尾向左移。当头+尾
2024-07-31 17:30:06 314
原创 LeetCode 392. 判断子序列
如果有大量输入的 S,称作 S1, S2, ... , Sk 其中 k >= 10亿,你需要依次检查它们是否为 T 的子序列。在这种情况下,你会怎样改变代码?思路:快慢指针思想,快指针遍历字符串t,慢指针指向字符串s中的字符,如果t中遇到与s中字符相同的,慢指针移动,否则快指针移动。字符串的一个子序列是原始字符串删除一些(也可以不删除)字符而不改变剩余字符相对位置形成的新字符串。优化版本:特殊场景也可容纳,主要是循环中加了条件,j<t.length();特殊场景s="",或t=""或s="",t=""
2024-07-31 10:30:21 175
原创 Leetcode189. 轮转数组
注意:如果翻转的次数超过了数组长度,实际上与k%size反正次数效果是一样的,所以需要。所以方法就是写一个翻转数组的方法,然后将整个数组翻转0,n-1。可以看做是先将数组翻转[7,6,5,4,3,2,1]向右轮转 1 步: [99,-1,-100,3]向右轮转 2 步: [3,99,-1,-100]然后将前3个数组翻转,后三个数组翻转。然后将前k个元素翻转,0,k-1。然后将后边元素翻转,k,n-1。,将数组中的元素向右轮转。这个题目找到规律就好写点。
2024-07-29 19:38:18 185
原创 Leetcode 169. 多数元素
给定一个大小为n的数组nums,返回其中的多数元素。多数元素是指在数组中出现次数⌊ n/2 ⌋的元素。你可以假设数组是非空的,并且给定的数组总是存在多数元素。32思路:可以想象成为多帮派投票选取黑帮老大的场景,首先我方选一个人当老大,计数为1再来一个投票人,如果这个人是我方势力,那么计数加1如果不是我方势力,那么计数减一,敌我双方同归于尽1个,这时需要看看我方计数是否已经归0,如果已经归0,说明我方已经没人了,需要重新选新的老大,然后重新开始附摩尔算法。
2024-07-29 10:38:42 995
原创 移除链表中值为val的元素
如果当前值==val,那么就将pre.next指向curr.next,,然后将curr后移,指向curr.next,pre不需要移动,因为curr的pre还是pre。示例 1: 输入:head = [1,2,6,3,4,5,6], val = 6 输出:[1,2,3,4,5]示例 3: 输入:head = [7,7,7,7], val = 7 输出:[]示例 2: 输入:head = [], val = 1 输出:[]定义一个pre指向当前元素的上一个元素。定义一个curr节点指向当前元素。
2024-07-25 19:51:14 176
原创 字符串不含重复字符的最长子串
* 给定一个字符串 s ,请你找出其中不含有重复字符的 最长 子串 的长度。示例 1:输入: s = "abcabcbb"输出: 3解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。示例 2:输入: s = "bbbbb"输出: 1解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。示例 3:输入: s = "pwwkew"输出: 3解释: 因为无重复字符的最长子串是 "wke",所以其长度为 3。
2024-07-25 10:04:20 262
原创 子数组和为k&子数组和最大
详细来说,就是通过预处理计算出以第 0 个元素起始,到第 i 个元素结尾的元素之和,并将其记录为数组 sum,从而实现通过 sum[i] - sum[j] 快速计算 [j ,i] 位置的元素和,这样的问题就是前缀和问题。那么上述问题可以改为sum[i]-sum[j]=k,再次转换可以转换为,nums[i]-k=nums[j]的问题。例如[0,1,2,3,5,6,-1,-2],前缀和为[0,1,3,6,11,17,16,14]有多少个nums[j]=nums[i]-k,就是有多少个符合和为k的子数组。
2024-07-23 19:54:52 335
原创 查找字符串数组中的最长公共前缀
编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串""。"fl"""输入不存在公共前缀。
2024-07-12 10:00:05 324
原创 长度最小的子数组
这种场景下,窗口和仍然是大于等于目标值的,如果不用while,那么就开始移动结束位置元素,起始位置不动了,实际上窗口内元素只有在小于目标值时,才能移动结束位置,否则需要移动开始位置。只用一个for循环,这个循环的索引,一定是表示 滑动窗口的终止位置。当窗口内元素和大于等于目标值时,就要向前移动。为什么内层不用if判断而要用while。如果不存在符合条件的子数组,返回。是该条件下的长度最小的子数组。找出该数组中满足其总和大于等于。个正整数的数组和一个正整数。
2024-07-11 10:40:25 431
原创 有序数组的平方
定义一个新数组result,和A数组一样的大小,让k指向result数组终止位置。按正数,负数分开两半,平方后最大的数,肯定是在两边,而不会是在中间。然后已经放入到新数组的指针移动,同时新数组放元素的指针也要移动。此时可以考虑双指针法了,i指向起始位置,j指向终止位置。最简单思路是先平方,后排序,但是与题目要求复杂度不符。平方后,数组变为 [16,1,0,9,100]排序后,数组变为 [0,1,9,16,100]组成的新数组,要求也按。
2024-07-11 09:36:45 316
原创 算法题:买卖股票的最佳时机
解释:在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5。暴力算法思路:假如第i天买入,那么需要从i+1到len-1,之间找一个比i大且最大的数来卖出,才能获取最大利益。给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。当天价格大于最小值,说明有利可图,就取之前的最大值,和当天的收益之中的最大值当做最大值。输入:prices = [7,6,4,3,1]输入:[7,1,5,3,6,4]
2024-07-09 19:33:34 505
原创 js中Array的splice方法的作用
方法是数组(Array)的一个内置方法,用于在数组中添加/删除项目,并返回被删除的项目。这个方法可以直接修改原始数组。在JavaScript中,
2024-05-15 15:21:50 455
原创 Symbol类型的作用
是一个内置对象,它提供了一个唯一的且不可改变的数据类型,用于作为对象的键(key)。这种类型主要用于避免命名冲突,特别是在使用像。,而不是一个字符串字面量。你必须使用方括号表示法(如。在TypeScript(和JavaScript)中,或对象字面量扩展等可能导致属性名冲突的情况下。每次被调用时都会返回一个新的、唯一的。注意,你不能使用点表示法(如。会持有一个与其他任何。)来访问这个属性,因为。
2024-05-14 17:15:01 183
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人