jd面试题
l1 = [2,3,4,5]
l2 = [4,6,7,8]
print([x for x in l1 if x in l2])
查找数组中最大和子序列
nums = [3,-5,7,4,10]
s = 0
seq = [x for x in nums if x >=0]
print(sum([x for x in nums if x >=0]))
最大连续子序列和
#暴力解法
def maxSum(nums):
maxnum = nums[0]
for i in range(len(nums)):
maxtmp = 0
for j in range(i,len(nums)):
maxtmp += nums[j]
if maxtmp > maxnum:
maxnum = maxtmp
return maxnum
if __name__ == '__main__':
nums = [1,3,-3,4,-6]
max = maxSum(nums)
print("maxsum is",max)
#动态规划
def maxSum(list_of_nums):
maxsum = 0
maxtmp = 0
for i in range(len(list_of_nums)):
if maxtmp <= 0:
maxtmp = list_of_nums[i]
else:
maxtmp += list_of_nums[i]
if(maxtmp > maxsum):
maxsum = maxtmp
return maxsum
if __name__ == '__main__':
list_of_num = [-10,4,-3,4,-6]
maxsum = maxSum(list_of_num)
print("maxsum is: ",maxsum)
wdtn