文档章节

1. Two Sum

hc321
 hc321
发布于 04/06 20:44
字数 278
阅读 4
收藏 0

题目链接:https://leetcode.com/problems/two-sum/description/
Given an array of integers, return indices of the two numbers such that they add up to a specific target. You may assume that each input would have exactly one solution, and you may not use the same element twice. Example: Given nums = [2, 7, 11, 15], target = 9, Because nums[0] + nums[1] = 2 + 7 = 9, return [0, 1].

最简单的暴力破解:
def twoSum(self, nums, target):    72ms
    for i in range(len(nums)):
        for j in range(i+1,len(nums)):
            if nums[i]+nums[j]==target:
                return [i,j]

def twoSum(self, nums, target):    68ms   
    for i in nums:
        index0=nums.index(i)
        nums[index0]='*'
        if target-i in nums:
            index1=nums.index(target-i)
            return [index0,index1]

def twoSum(self, nums, target):##nums有重复值  36ms
    for i in nums:
        index0=nums.index(i)
        nums[index0]='*'
        if target-i in nums:
            index1=nums.index(target-i)
            return [index0,index1]

def twoSum1(self, nums, target):##不适合有重复值   36ms
    nums_={}
    for i in nums:
        nums_[target-i]=nums.index(i)
    for j in nums:
        nums_.pop(target-j)
        if j in nums_.keys():
            index1=nums.index(j)
            index2=nums_[j]
            return [index1,index2]
如果是递增有序的数组,可以设置两个指针,分别从左端右端往中间移动
然后如果和大于target,右指针左移一位,如果小于则左指针右移一位,待和为target或者左右指针相同返回。

© 著作权归作者所有

共有 人打赏支持
上一篇: 袋鼠过河python
hc321
粉丝 1
博文 67
码字总数 32581
作品 0
海淀
程序员
私信 提问
UNIX环境下批量生产用户(原创:北京)

UNIX环境下批量生产用户 作者:viking_lee freenews88@yahoo.com.cn 原创作品 本例可用于Linux8.0/7.0 Solaris8 Linux 环境: 1.编写一个文件:passwd.list。目的是让计算机可识别出用户名。...

JavaGG
2009/05/06
118
0
二叉树的路径和(不必以根节点为起始)Path Sum III

问题: You are given a binary tree in which each node contains an integer value. Find the number of paths that sum to a given value. The path does not need to start or end at th......

叶枫啦啦
2017/08/07
0
0
关于 计算1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100 的值的体会

按照我最开始的思路就是执行下面的代码 #include #include int main() { int i=0; double sum1=0; double sum2=0; double sum=0; for(i=1;i<101;i++) { if(i%2==0) { sum1=sum1+1/i; } else ......

triorwy
2017/11/03
0
0
划分数组为两个和相等的子集 Partition Equal Subset Sum

问题: Given a non-empty array containing only positive integers, find if the array can be partitioned into two subsets such that the sum of elements in both subsets is equal. N......

叶枫啦啦
01/04
0
0
隐马尔科夫模型HMM(三)鲍姆-韦尔奇算法求解HMM参数

在本篇我们会讨论HMM模型参数求解的问题,这个问题在HMM三个问题里算是最复杂的。在研究这个问题之前,建议先阅读这个系列的前两篇以熟悉HMM模型和HMM的前向后向算法,以及EM算法原理总结,这...

citibank
06/15
0
0

没有更多内容

加载失败,请刷新页面

加载更多

0015-如何使用Sentry管理Hive外部表权限

1.文档编写目的 本文档主要讲述如何使用Sentry对Hive外部表权限管理,并基于以下假设: 1.操作系统版本:RedHat6.5 2.CM版本:CM 5.11.1 3.集群已启用Kerberos和Sentry 4.采用具有sudo权限的...

Hadoop实操
1分钟前
0
0
边缘计算与数据中心的发展趋势

导读 Gartner研究表明,人工智能、物联网和5G助力下一代商业创新,由此产生大量数据,2020年前企业将使用超过75亿台联网设备。 在几乎每个方面,社会的节奏都正变得更快。我们希望客户服务问...

问题终结者
13分钟前
3
0
toString();

package com.atguigu.java1; import java.util.Date; /** * toString()的使用: * * 1.java.lang.Object类中toString()定义如下: * public String toString() { return getClass().getName......

architect刘源源
40分钟前
1
3
不可不说的Java“锁”事

前言 Java提供了种类丰富的锁,每种锁因其特性的不同,在适当的场景下能够展现出非常高的效率。本文旨在对锁相关源码(本文中的源码来自JDK 8)、使用场景进行举例,为读者介绍主流锁的知识点...

Java干货分享
44分钟前
1
0
Java GoEasy 实现服务端推送和Web端推送

项目中需要消息推送,又想降低开发成本。Java服务器端推送,Web端接收推送信息。 具体需求: 需求一:系统框架实现全局异常捕获并录入日志表,实现实时推送消息到客户端页面展示。 需求二:系...

Gibbons
46分钟前
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部