python - 解决twoSum问题的线性搜索问题
问题描述
我尝试了 Leecodes 中最简单的问题来解决 twoSum,
问题:
给定一个整数数组,返回两个数字的索引,使它们相加到一个特定的目标。您可能会假设每个输入都只有一个解决方案,并且您可能不会两次使用相同的元素。
我的概念计划:固定第一个数字并找到(目标 - 第一个)
使用:O(n) 迭代 * O(n) 线性搜索
from typing import List
class Solution:
def twoSum(self, nums: List[int], target: int) -> List[int]:
for i in range(len(nums)): #loop
find = target - nums[i]
print(i, find)
for j in range(i, len(nums)):#linear search
if find == nums[j]:
print(j)
return [i, j]
return None
当试图检查它
In [51]: Solution().twoSum(nums, target)
0 3
0
Out[51]: [0, 0]
没能找到问题,被 leecode 中最简单的问题困住了。
解决方案
尝试在第二个循环中从i + 1
tolen(nums)
循环,因为您不能两次使用相同的元素。除此之外,它看起来是正确的。
推荐阅读
- python-3.x - 如何从 python3 中删除 S3 特定前缀生命周期
- java - 通过 Maven Invoker 执行项目会引发编译错误
- kotlin - 如何在数组中设置值的范围/切片?科特林
- .htaccess - htaccess RewriteRule 到 Wordpress 环境中的现有文件夹
- javascript - 在 laravel 中使用带有表单其他属性的 dropzone 提交图像
- c# - 表格布局面板 - 在 C# 表单应用程序中锚定
- node.js - 在nodejs中将AJAX请求转换为HTTP请求
- android - Android 唤醒锁打开
- xml - 从线性化到漂亮打印到线性化时,我可以防止记事本++删除关闭和打开 XML 标记之间的空格吗
- python - 无法在 R 闪亮的仪表板中打印 python 代码