Algorithm
给定一个已按照升序排列 的有序数组,找到两个数使得它们相加之和等于目标数。函数应该返回这两个下标值 index1 和 index2,其中 index1 必须小于 index2
Two Sum II - Input array is sorted
# 解1,时间复杂度O(n),空间复杂度O(1)
class Solution1:
def twoSum(self, numbers: List[int], target: int) -> List[int]:
l,r = 0,len(numbers)-1
while l < r:
if numbers[l] + numbers[r] == target:
return [l + 1, r + 1]
elif numbers[l] + numbers[r] < target:
l += 1
else:
r -= 1
return []
# 解2,时间复杂度O(nlogn),空间复杂度O(1)
class Solution2:
def twoSum(self, numbers: List[int], target: int) -> List[int]:
for n in range(len(numbers)):
l,r = n + 1,len(numbers) - 1
tmp = target - numbers[n]
while l <= r :
mid = l + (r - l) // 2
if numbers[mid] == tmp:
return [n + 1,mid + 1]
elif numbers[mid] < tmp:
l = mid + 1
else:
r = mid - 1
return []
Review
- postman 创建collection,添加请求
- 添加环境变量,并在Headers中使用
- 使用Pre-requrest scripts 中添加access_token(以及使用其他参数)
- 后一个请求中传参使用前一个请求返回的结果
- 设置断言,测试返回结果
Tip
appium 启动时报错,An unknow server-side error occurred while processing the command...
换成UiAutomator1启动正常,怀疑是UiAutomator2问题。重新安装appium问题已解决(未能定位到确切原因)