当前位置: 首页 > news >正文

LeetCode题一:求两数之和

Python写法:

from typing import List
class Solution:
    def twoSum(self, nums: List[int], target: int) -> List[int]:
        num_dict = {}#创建一个空字典 num_dict,用于存储数组中的元素及其对应的索引。字典的键是数组元素的值,值是该元素在数组中的索引。
        for i, num in enumerate(nums):
            complement = target - num#对于当前遍历到的元素 num,计算 target 与 num 的差值 complement。如果数组中存在另一个元素的值等于 complement,那么这两个元素的和就等于 target。
            if complement in num_dict:
                return [num_dict[complement], i]#检查 complement 是否已经存在于字典 num_dict 的键中。如果存在,说明找到了两个元素的和等于 target,则返回这两个元素的索引,其中 num_dict[complement] 是 complement 对应的索引,i 是当前元素的索引。
            num_dict[num] = i#如果 complement 不在字典中,将当前元素 num 及其索引 i 存入字典 num_dict 中,以便后续查找。
        return []#不满足返回空值

# 获取用户输入
nums = list(map(int, input("num=").split()))
target = int(input("target="))

# 创建 Solution 类的实例
solution = Solution()
# 调用 twoSum 方法
result = solution.twoSum(nums, target)
print(result)

第一次做题遇到了很大的阻碍,通过查阅资料才知道自己还存在着诸多不足,而且听同学讲LeetCode只需把主代码写出来就可以,输入问题困扰了我将近一节课,我还需要继续努力!

http://www.dtcms.com/a/111529.html

相关文章:

  • 密码学基础——DES算法
  • WPF 免费UI 控件HandyControl
  • 大模型-爬虫prompt
  • 字符串拼接
  • Python语料数据清洗方法之一
  • 从代码学习深度学习 - LSTM PyTorch版
  • 【硬件模块】数码管模块
  • 理解OSPF Stub区域和各类LSA特点
  • QEMU学习之路(5)— 从0到1构建Linux系统镜像
  • 【学习篇】fastapi接口定义学习
  • 19.TCP相关实验
  • 哈密尔顿路径(Hamiltonian Path)及相关算法题目
  • 前端快速入门学习3——CSS介绍与选择器
  • 第三季:挪威
  • 阿里Qwen 创建智能体,并实现ubantu系统中调用
  • 对用户登录设计测试用例
  • Transformer由入门到精通(一):基础知识
  • CSS快速上手
  • BUUCTF-web刷题篇(10)
  • 封装自己的api签名sdk
  • 数据结构 -- 图的存储
  • SpringBoot定时任务深度优化指南
  • ubuntu部署ollama+deepseek+open-webui
  • OpenCV 实现对形似宝马标的黄黑四象限标定位
  • 字符串移位包含问题
  • CExercise_1_4continue关键字在while循环和for循环中,实现的功能有什么区别?
  • Neo4j操作数据库(Cypher语法)
  • NO.61十六届蓝桥杯备战|基础算法-双指针|唯一的雪花|逛画展|字符串|丢手绢(C++)
  • 管理系统 UI 设计:提升企业办公效率的关键
  • (多看) CExercise_05_1函数_1.2计算base的exponent次幂