1.两数之和
给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。
你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用。
解:
(1)int型范围在 -32768到32767之间,
(signed) short (int): - 2^15 ~ 2^15 - 1
unsigned short (int): 0 ~ 2^16 - 1
(signed) int: - 2^31 ~ 2^31 - 1
unsigned (int): 0 ~ 2^32 - 1
(2)用冒号来选取数组的范围
list[start:end:step]
start:起始位置 ,end:结束位置 ,step:步长
(3)数组的删除
这么写吧,一共有三种删除的方式,对应了两种情况
首先是知道要删除的那个元素位置在哪里,可以用del和pop来删除。del a[0]或者a.pop(2),都是从这个位置去删除,pop的删除默认是删除末尾,就是不写括号里的数字默认队尾删除,而且pop还有输出,删掉的那个输出之后删,弹出操作。
第二种情况是知道要删的是什么,不知道在哪,a.remove(0),它会自己去找,删除第一个符合条件的。
(4)这题就是一个暴力法。。。而且两遍遍历的时候注意一下第二次开始的起始位置。
哈希是查找的一个好办法,用空间换时间,就是怎么用python去实现哈希,下次有空就学!!!!!!!!!!