力扣-1. 两数之和

刷力扣热题–第三天:1. 两数之和
菜鸟第三天开始奋战敲代码,持之以恒,见证成长

1.题目简介

在这里插入图片描述

2.题目解答

因为这是道简单题,就不用最粗暴的方式了,题目主要的目的还是想要从数组中找到一组和为target的数组下标,那就是说一个数要与除他以外所有数求和再验证,所以至少也得遍历一下整个数组,现在想的是能否先让数组有序,之后再去进行求和,python的话很好实现,结果如下 (时间复杂度O(n2) 空间复杂度O(n))
在这里插入图片描述过是过了,但是感觉结果不得劲,在修改一下:
在这里插入图片描述
想了蛮久但还是时间还是没下降,不钻牛角尖,多刷点再来进阶。

3.心得体会

今天是道简单题,第一遍挺好做的,但是想要提升质量我还是没能想起来,路漫漫~
代码在这:

class Solution(object):
    def twoSum(self, nums, target):
        """
        :type nums: List[int]
        :type target: int
        :rtype: List[int]
        """
        start = -1
        end = -1
        ori_nums = [i for i in nums]
        nums.sort()
        for i in range(len(nums)):
            for j in range(i + 1, len(nums)):
                if nums[i] + nums[j] == target:
                    start = nums[i]
                    end = nums[j]
                else:
                    continue
        star = 0
        if start == end:
            for i in range(len(nums)):
                if ori_nums[i] == start and star == 0:
                    star = 1
                elif ori_nums[i] == start and star == 1:
                    return [ori_nums.index(start), i]
        return [ori_nums.index(start), ori_nums.index(end)]

4.写作时长

2024-7-4-19:40 == 2024-7-4-20:10 正式做题半小时,之后又钻了五十分钟牛角尖~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值