- Two Sum
两个数之和
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].
【笔记】
python中的range函数
range函数一般是三个参数,最后的1通常省略
如range(1,6,1)可简写为range(1,6)表示1到5的序列
如果是5到1倒着取:
写成range(5,0,-1)
或range(1,5)[::-1]
python中的for i in range怎么用?
for in range是循环的意思,示例:
for i in range(1,5):
print i
>
1
2
3
4
它是如何工作的:
打印一个数字序列。我们使用内置的range函数生成这个数字序列。
它是如何工作的:
打印一个数字序列。我们使用内置的range函数生成这个数字序列。
我们在这里所做的是提供两个数字,range返回一个从第一个数字到第二个数字的一个数字序列。例如,range(1,5)给出序列[1, 2, 3, 4]。默认情况下,range 步距取为1。如果我们提供第三个数字,range那么它变成了步距。例如range(1,5,2)得到[1,3]。
for循环然后遍历这个范围,for i in range(1,5)相当于 for i in [1, 2, 3, 4],这就像把序列中的每一个数(或对象)分配给i,一次一个,然后为每个i值执行该语句块。在本例中,在语句块中我们只是打印它的值。
附:
range详解
函数原型:range(start, end, scan):
参数含义:
start: 计数从start开始。默认是从0开始。例如range(5)等价于range(0, 5);
end: 计数到end结束,但不包括end.例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5
scan: 每次跳跃的间距,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1)
它是如何工作的:
打印一个数字序列。我们使用内置的range函数生成这个数字序列。
我们在这里所做的是提供两个数字,range返回一个从第一个数字到第二个数字的一个数字序列。例如,range(1,5)给出序列[1, 2, 3, 4]。默认情况下,range 步距取为1。如果我们提供第三个数字,range那么它变成了步距。例如range(1,5,2)得到[1,3]。
for循环然后遍历这个范围,for i in range(1,5)相当于 for i in [1, 2, 3, 4],这就像把序列中的每一个数(或对象)分配给i,一次一个,然后为每个i值执行该语句块。在本例中,在语句块中我们只是打印它的值。
附:
range详解
函数原型:range(start, end, scan):
参数含义:
start: 计数从start开始。默认是从0开始。例如range(5)等价于range(0, 5);
end: 计数到end结束,但不包括end.例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5
scan: 每次跳跃的间距,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1)
python中的浮点数range方法
我们知道python中有个range函数用来产生一个范围内的数字数组,但是浮点数没有,我们来定义一个
#python中的range函数支持步进,如下:
>>> print range(2,15,3)
[2, 5, 8, 11, 14]
#但是浮点数不支持range函数,自己定义一个类似的
def floatrange(start,stop,steps):
''' Computes a range of floating value.
Input:
start (float) : Start value.
end (float) : End value
steps (integer): Number of values
Output:
A list of floats
Example:
>>> print floatrange(0.25, 1.3, 5)
[0.25, 0.51249999999999996, 0.77500000000000002, 1.0375000000000001, 1.3]
'''
return [start+float(i)*(stop-start)/(float(steps)-1) for i in range(steps)]
#运行范例:
>>> print floatrange(0.25, 1.3, 5)
[0.25, 0.51249999999999996, 0.77500000000000002, 1.0375000000000001, 1.3]