文档章节

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或者左右指针相同返回。

© 著作权归作者所有

共有 人打赏支持
hc321
粉丝 0
博文 63
码字总数 26590
作品 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
shell脚本练习(12.11)

求100以内偶数的和 思路:1.先定义一个变量x 2.x的范围是0-50,x的初始值为1 3.和值初始值为0,每做一次循环 和值就等于本身+2*i 方法一: vim sum1.sh #!/bin/bash #written by lizheng #ab...

lizheng103
2016/12/11
0
0

没有更多内容

加载失败,请刷新页面

加载更多

OSX | SafariBookmarksSyncAgent意外退出解决方法

1. 启动系统, 按住⌘-R不松手2. 在实用工具(Utilities)下打开终端,输入csrutil disable, 然后回车; 你就看到提示系统完整性保护(SIP: System Integrity Protection)已禁用3. 输入reboot回车...

云迹
今天
3
0
面向对象类之间的关系

面向对象类之间的关系:is-a、has-a、use-a is-a关系也叫继承或泛化,比如大雁和鸟类之间的关系就是继承。 has-a关系称为关联关系,例如企鹅在气候寒冷的地方生活,“企鹅”和“气候”就是关...

gackey
今天
4
0
读书(附电子书)|小狗钱钱之白色的拉布拉多

关注公众号,在公众号中回复“小狗钱钱”可免费获得电子书。 一、背景 之前写了一篇文章 《小狗钱钱》 理财小白应该读的一本书,那时候我才看那本书,现在看了一大半了,发现这本书确实不错,...

tiankonguse
今天
4
0
Permissions 0777 for ‘***’ are too open

异常显示: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: UNPROTECTED PRIVATE KEY FILE! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ ......

李玉长
今天
5
0
区块链10年了,还未落地,它失败了吗?

导读 几乎每个人,甚至是对通证持怀疑态度的人,都对区块链的技术有积极的看法,因为它有可能改变世界。然而,区块链技术问世已经10年了,我们仍然没有真正的用上区块链技术。 几乎每个人,甚...

问题终结者
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部