1.题目:
2.自己的解法:
a = [1,2,2,2,3,4,5,6,7,8,8,8,8,8,9]
b = [2,2,2,2,2,4,6,7,7,7,7,7,7,7,7,8,8,8,8,8,11,23]
len1 = len(a)
len2 = len(b)
i = 0
j = 0
print('输出的公共元素为:', end = '')
while((i < len1) and (j <len2)):
if(a[i] < b[j]):
i = i + 1
elif(a[i] > b[j]):
j = j + 1
else:
print(a[i], end = " ")
tmp = i + 1
while(tmp < len1 and a[tmp] == b[j]):
tmp = tmp + 1
i = tmp - 1
tmp1 = j + 1
while (tmp1 < len2 and b[tmp1] == a[i]):
tmp1 = tmp1 + 1
j = tmp1 - 1
i = i + 1
j = j + 1
3.其他解法:
4.本题涉及的其他问题:
(1)python中没有自增运算符和自减运算符,原因是:
在 Python 中,整数是一种不可变类型。在创建对象之后,其值就不能再被改变。
在 Java 或 C 等语言中, ++ 做的事情是让这个变量的值 +1,比如 a = 1; a++,意思是将 a 原本的内存区域表示的值替换为原本的值 +1。而在 Python 中,一旦一个整数对象创建,其值就不能再被改变。所以,就无法实现 自增、自减 操作了。
print('123123', end='')