1. 两数之和

1. 两数之和

给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。

你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。

你可以按任意顺序返回答案。
在这里插入图片描述

一、python-暴力与哈希

import cProfile
def twosum1(num_list,target):#暴力遍历
    for i in range(len(num_list)):
        res=target-num_list[i]
        if res in num_list[i+1:]:#从列表num_list中的第i+1个元素开始,一直到列表的末尾
            print("[%d,%d]"%(i,num_list[i+1:].index(res)+i+1))
def twosum2(num_list,target):
    hashtable=dict()
    for i,num in enumerate(num_list):#在每次迭代中,enumerate()函数会返回一个元组,其中第一个元素是当前元素的索引(从0开始),第二个元素是当前元素的值
        if target - num in hashtable:
            print("[%d,%d]"%(hashtable[target-num],i))
        else:
            hashtable[num]=i#将键为num,值为i的键值对添加到哈希表hashtable中


if __name__=='__main__':
    numbers = input("nums=").split()
    num_list = [int(x) for x in numbers if x.isdigit()]
    #这里要注意要保证列表中数据格式不是str而是int
    target = input("target=")
    target=int(target)#同时要保证int格式,int要与int格式的数据执行加法

    cProfile.run('twosum1(num_list, target)')#cProfile 模块用于执行代码的性能分析。它会生成一个分析报告,显示函数调用次数、执行时间和内存占用等信息
    #cProfile.run('twosum2(num_list, target)')


二、运行

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

三、哈希图解

在这里插入图片描述

相关推荐

  1. 1.之和

    2024-03-16 23:36:03       58 阅读
  2. 1. 之和

    2024-03-16 23:36:03       41 阅读
  3. LeetCode 1. 之和

    2024-03-16 23:36:03       82 阅读
  4. lc1:之和

    2024-03-16 23:36:03       62 阅读
  5. leetcode 1之和

    2024-03-16 23:36:03       48 阅读
  6. LeetCode1之和

    2024-03-16 23:36:03       38 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-16 23:36:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-16 23:36:03       101 阅读
  3. 在Django里面运行非项目文件

    2024-03-16 23:36:03       82 阅读
  4. Python语言-面向对象

    2024-03-16 23:36:03       91 阅读

热门阅读

  1. react的高阶组件怎么用?

    2024-03-16 23:36:03       41 阅读
  2. 安卓UI面试题 51-55

    2024-03-16 23:36:03       42 阅读
  3. Acwing101 --- 最高的牛(差分)

    2024-03-16 23:36:03       39 阅读
  4. MATLAB中的数据类型

    2024-03-16 23:36:03       42 阅读
  5. Redis语法总结

    2024-03-16 23:36:03       59 阅读
  6. 【2024-03-16】蚂蚁金服春招实习笔试三道编程题解

    2024-03-16 23:36:03       57 阅读
  7. python-0008-修改django数据库为mysql

    2024-03-16 23:36:03       35 阅读
  8. libcurl test

    2024-03-16 23:36:03       42 阅读
  9. 【LeetCode】动态规划--题目练习

    2024-03-16 23:36:03       41 阅读
  10. Yaml格式解析

    2024-03-16 23:36:03       43 阅读