1、Given nums = [2, 7, 11, 15], target = 9, Because nums[0] + nums[1] = 2 + 7 = 9, return [0, 1].
#方法一:
1 class Solution:
2 def twoSum(self,nums,target):
3 l = []
4 count = len(nums)
5 for i in range(0, count):
6 for j in range(i + 1, count):
7 if nums[i] + nums[j] == target:
8 l.append(i)
9 l.append(j)
10 return l
方法二:
1 class Solution():
2 def twoSum(self, nums, target):
3 """
4 :type nums: List[int]
5 :type target: int
6 :rtype: List[int]
7 """
8 new_list=[]
9 sum_index=len(nums)
10 if sum_index>1:
11 for i in range(sum_index):
12 diff_num=target-nums[i]
13 if diff_num in nums[i+1:]:
14 if i not in new_list:
15 new_list=[i,nums[i+1:].index(diff_num)+i+1]
16 return new_list
nums=[1,1,4,1,2,23,2]
a=Solution()
print(a.twoSum(nums,27))
2、一个列表里面随意三个数字相加等于0,然后把这三个数字以列表的形式记录下来,不可以重复
1 class Solution:
2 def threeSum(self, nums):
3 d1 = {}
4 count = len(nums)
5 for i in range(0, count):
6 for j in range(i + 1, count):
7 for k in range(j + 1, count):
8 if nums[i] + nums[j] + nums[k] == 0:
9 l1 = (nums[i], nums[j], nums[k])
10 d1[tuple(sorted(l1))] = 1
11
12 return [list(z) for z in d1]
S = [-1,0,1,2,-1,-4]
a = Solution()
print(a.threeSum(S))
3、按顺序依次取7个数相加,结果增加至新列表
data=[3,18,17,16,8,9,8,11,17,9,16,6,7,7,8,7,6,4,4,5,10,10]
1 l=[]
2 num=6
3 index=0
4 sun=0
5 for i in data:
6 sun+=i
7 index+=1
8 if index>num:
9 l.append(sun)
10 index =0
11 sun=0
12 print(l)
4、将数字顺序反过来
方法一:
1 class Solution:
2 def reverse(self, x):
3 symbol='-'
4 flag=False
5 x=str(x)
6 new_x=''
7
8 #有'-'号的保留
9 if symbol in x:
10 x=x[1::]
11 flag=True
12
13 #从后往前读取字符串
14 max_index=len(x)
15 min_index=0
16 for _ in range(max_index):
17 if max_index>min_index:
18 new_x+=x[max_index-1]
19 max_index-=1
20
21 x=new_x
22 if flag:
23 x='-%s' %(x)
24
25 return int(x)
方法二:
1 class Solution(object):
2 def reverse(self, x: int) -> int:
3 self.x = x
4 if '-' in str(self.x):
5 strs = str(self.x)[1:][::-1]
6 for i in range(len(strs)):
7 if strs[i] != '0':
8 return int(strs)
9 else:
10 strss = '-' + strs.lstrip('0')
11 return int(strss)
12 else:
13 strs = str(self.x)[:][::-1]
14 for i in range(len(strs)):
15 if strs[i] != '0':
16 return int(strs)
17 else:
18 return int(strs.lstrip('0'))