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

Leetcode 1. 两数之和

在这里插入图片描述

心路历程:

很简单的题,双层暴力就可以,用双指针的话快一点。暴力时间复杂度O( n 2 n^2 n2),双指针时间复杂度O(nlogn) + O(n) + O(n) = O(nlogn)。

注意的点:

1、题目需要返回原数组的索引,所以排序后还需要对应原数组,还好只要返回唯一解。
2、对应原数组的时候注意处理两个指针赋值不能相同的情况(无法直接用.index())
3、right指针大于left指针即可,总是有时候把左右指针写反。

解法:排序、双指针、返回对应原数组索引

class Solution:
    def twoSum(self, nums: List[int], target: int) -> List[int]:
        # 双指针
        newnums = sorted(nums)
        left = 0
        right = len(nums) - 1
        while right > left: 
            if newnums[left] + newnums[right] == target:
                break
            elif newnums[left] + newnums[right] > target:
                right -= 1
            else:
                left += 1
        assert left != right
        
        l1, l2 = 0, 0
        flag = False
        for i in range(len(nums)):
            if newnums[left] == nums[i] and not flag:
                l1 = i
                flag = True
            elif newnums[right] == nums[i]:
                l2 = i
        return [l1, l2]

http://www.kler.cn/a/272070.html

相关文章:

  • 2025年最新深度学习环境搭建:Win11+ cuDNN + CUDA + Pytorch +深度学习环境配置保姆级教程
  • 鸿蒙参考文档和问题记录
  • yolov11 pose 推理代码
  • PAT (Basic Level) Practice 乙级1041-1045
  • windows git bash 使用zsh 并集成 oh my zsh
  • NextJs - ServerAction获取文件并处理Excel
  • 新!PCA+DBO+K-means聚类,蜣螂优化算法DBO优化K-means,适合学习,也适合发paper。
  • 编译原理 第1章:概述
  • SpringBoot Servlet容器启动解析
  • 【论文精读】DDPM:Denoising Diffusion Probabilistic Models 去噪扩散概率模型
  • 每日OJ题_简单多问题dp④_力扣LCR 091. 粉刷房子
  • ROS2+NAV2如何快捷的在docker中使用主机的CAN
  • WPF中使用LiveCharts绘制散点图
  • 如何降低云计算成本?
  • 数字后端 EDA 软件分享
  • Find My游戏机|苹果Find My技术与游戏机结合,智能防丢,全球定位
  • Linux 块设备驱动
  • 算法第二十九天-森林中的兔子
  • LGB2028 反向输出一个三位数
  • 动态规划题目集一(代码 注解)
  • 继承 ResponseEntityExceptionHandler
  • 2024云服务器安装MySQL,连接Navicat保姆级教程
  • Realtek PCIE Ethenter - PG Tool 使用操作說明
  • SpringBoot整合ElasticSearch应用
  • python中pdf转图片的操作方法二
  • “城市绿肺诊断:集成GIS、RS、VORS模型、CCDM模型、geodetecto、GWR模型技术深入解析生态系统与城镇化协调发展“