找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 60|回复: 9

leetcood

[复制链接]

9

主题

135

回帖

303

积分

中级会员

积分
303
发表于 2018-11-13 23:36:28 | 显示全部楼层 |阅读模式
题目:
给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。
你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用。

示例:
[ol]
  • 给定 nums = [2, 7, 11, 15], target = 9
  • 因为 nums[0] + nums[1] = 2 + 7 = 9
  • 所以返回 [0, 1][/ol]复制代码

    我的答案:
    [ol]
  • class Solution(object):
  •     def twoSum(self, nums, target):
  •         """
  •         :type nums: List[int]
  •         :type target: int
  •         :rtype: List[int]
  •         """
  •         for i in nums:
  •             for j in range(nums.index(i)+1,len(nums)):
  •                 sums = i + nums[j]
  •                 if sums == target:
  •                     return [nums.index(i),j][/ol]复制代码

    强行写了1h


  • 回复

    使用道具 举报

    14

    主题

    74

    回帖

    206

    积分

    中级会员

    积分
    206
    发表于 2018-11-13 23:42:05 | 显示全部楼层
    额,可以拍出很多可能,首先剔除比和大的,之后再以和除2为界对半分
    回复

    使用道具 举报

    9

    主题

    135

    回帖

    303

    积分

    中级会员

    积分
    303
     楼主| 发表于 2018-11-13 23:45:21 | 显示全部楼层

    生蚝QAQ 发表于 2018-11-13 23:42

    额,可以拍出很多可能,首先剔除比和大的,之后再以和除2为界对半分

    剔除比和大的,忽略了正负数

    我提交一次惊一次,每次测试用例都有坑

    回复

    使用道具 举报

    9

    主题

    135

    回帖

    303

    积分

    中级会员

    积分
    303
     楼主| 发表于 2018-11-13 23:42:00 | 显示全部楼层
    考虑的坑越多,代码写的越简单

    回复

    使用道具 举报

    14

    主题

    74

    回帖

    206

    积分

    中级会员

    积分
    206
    发表于 2018-11-13 23:47:44 | 显示全部楼层
    同样的元素不能重复利用意思是不能4+4=8吗
    回复

    使用道具 举报

    9

    主题

    135

    回帖

    303

    积分

    中级会员

    积分
    303
     楼主| 发表于 2018-11-13 23:48:54 | 显示全部楼层

    生蚝QAQ 发表于 2018-11-13 23:48

    同样的元素不能重复利用意思是不能4+4=8吗

    例如 [4,4,5] 找 8

    需要返回[0,1],可以用
    不能返回[0,0]
    回复

    使用道具 举报

    14

    主题

    74

    回帖

    206

    积分

    中级会员

    积分
    206
    发表于 2018-11-13 23:51:04 | 显示全部楼层

    pulpfunction 发表于 2018-11-13 23:51

    例如 [4,4,5] 找 8

    需要返回[0,1],可以用

    想过去最直观的优化应该还是以和为界
    回复

    使用道具 举报

    14

    主题

    74

    回帖

    206

    积分

    中级会员

    积分
    206
    发表于 2018-11-13 23:48:00 | 显示全部楼层
    "

    想过去要分好多界
    回复

    使用道具 举报

    9

    主题

    135

    回帖

    303

    积分

    中级会员

    积分
    303
     楼主| 发表于 2018-11-13 23:53:30 | 显示全部楼层

    生蚝QAQ 发表于 2018-11-13 23:53

    想过去最直观的优化应该还是以和为界

    我看官方的答案使用哈希是简单的,它这题目要求代码过所有的测试用例就行

    以和为界不知道怎么写

    回复

    使用道具 举报

    14

    主题

    74

    回帖

    206

    积分

    中级会员

    积分
    206
    发表于 2018-11-13 23:51:00 | 显示全部楼层

    pulpfunction 发表于 2018-11-13 23:58

    我看官方的答案使用哈希是简单的,它这题目要求代码过所有的测试用例就行

    以和为界不知道怎么写 ...

    分界可以减少组合次数,比如和是20,那么10到20之间的数就不可能和自己这个10-20区间的数进行组合
    生蚝QAQ 发表于 2018-11-14 00:02

    分界可以减少组合次数,比如和是20,那么10到20之间的数就不可能和自己这个10-20区间的数进行组合 ...

    明天看一下哈希,笨办法学一个就行
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    Archiver|手机版|小黑屋|Discuz! X

    GMT+8, 2025-3-5 07:19 , Processed in 0.020304 second(s), 4 queries , Gzip On, Redis On.

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

    快速回复 返回顶部 返回列表