归纳法
全排列
# -*- coding:utf-8 -*-
'''输出abcd的全排列'''
def p(m):
if m==n:
print(l)
else:
for i in range(m,n):
l[i],l[m] = l[m],l[i]
p(m+1)
l[i],l[m] = l[m],l[i]
l=['a','b','c','d']
n=4
p(0)
寻找多数元素
def findMost(m):
"""
从m处开始找多数元素
"""
k=1;c=l[m];j=m
while j<n and k>0:
j+=1
if l[j]==c:
k+=1
else:
k-=1
if j==n:
return c
else:
return findMost(j+1)
l = [1,2,3,3,3,3,3,1,2,2]
n = len(l)-1
c = findMost(0)
count = 0
for cc in l:
if cc == c:
count += 1
if count>(n-1)/2:
print(c)
else:
print("none")