zoukankan      html  css  js  c++  java
  • Leetcode 1.两数之和

      给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。

      你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用。

      示例:

    给定 nums = [2, 7, 11, 15], target = 9
    
      因为 nums[0] + nums[1] = 2 + 7 = 9
      所以返回 [0, 1]

      注:要考虑i,j不相等,即两元素的下标不能相等

    • 一开始的代码

      一开始想的是找到一个在nums中和item相加等于target的数,再返回其下标,结果运行时间太长了

      

     for i,item in enumerate(nums):
            for j in nums:
                if nums.index(j)!=i:
                    x=j+item
                    if x==target:
                       return i,nums.index(j)
    • 改进代码

      后来发现,只要在nums中找到target-item即可。。。,减少了遍历的时间

      

                    for i, item in enumerate(nums):
                        if target - item in nums and nums.index(target - item) != i:
                            return i, nums.index(target - item)
  • 相关阅读:
    vite的使用
    webpack--Plugin
    webpack--loader
    uniapp 或小程序,通过蓝牙连接设备, 给设备配网
    每一项与之前一项相加
    vue使用vue-fullpage
    React基礎
    无间隙循环轮播效果
    Wow.js动画效果
    正则表达式
  • 原文地址:https://www.cnblogs.com/Aprilnn/p/9180688.html
Copyright © 2011-2022 走看看