5、递归算法实现冒泡排序算法的函数MpSort( 二 )


输出格式:
输出“yes”,表示是互换词,输出“no”,表示不是互换词 。
word1=list(input())word2=list(input())count=0for i in range(len(word1)):if word1.count(word1[i])==word2.count(word1[i]):count+=1if count == len(word1):print("yes")else:print("no")
7、求矩阵鞍点的个数
一个矩阵元素的“鞍点”是指该位置上的元素值在该行上最大、在该列上最小 。本题要求编写程序,求一个给定的n阶方阵的鞍点 。

5、递归算法实现冒泡排序算法的函数MpSort

文章插图
输入格式:
输入第一行给出一个正整数n(1≤n≤6) 。随后n行,每行给出n个整数,其间以空格分隔 。
输出格式:
鞍点的个数
n = int(input())ls = []c,d = [],[]f = 0for i in range(n):a = list(map(int,input().split()))ls.append(a)for p in range(n):a = []b = []for q in range(n):a.append(ls[p][q])b.append(ls[q][p])x = max(a)c.append(x)y = min(b)d.append(y)for i in c:for j in d:if i==j:f = f+1print(f)
8、求两个集合的差集
输入格式:
首先输入一个正整数T,表示测试数据的组数,然后是T组测试数据 。每组测试数据输入1行,每行数据的开始是2个整数n(0 < n ≤ 100)和m(0 < m ≤ 100),分别表示集合A和集合B的元素个数,然后紧跟着n+m个元素,前面n个元素属于集合A,其余的属于集合B 。每两个元素之间以一个空格分隔 。
输出格式:
针对每组测试数据输出一行数据,表示集合A-B的结果,如果结果为空集合,则输出“NULL”(引号不必输出),否则从小到大输出结果,每两个元素之间以一个空格分隔 。
T= int(input())for i in range(T):lis = list(map(int, input().split()))lis1, lis2 = lis[2: 2 + lis[0]], lis[2 + lis[0]:]lis3 = []for i in lis1:if i not in lis2:lis3.append(int(i))lis3.sort()if len(lis3) != 0:for i in range(len(lis3) - 1):print(lis3[i], end=' ')print(lis3[len(lis3) - 1])else:print('NULL')
9、单词统计,并按顺序打印
输入一些英文单词,统计每个单词出现的次数(大小写,如‘At’和‘at’算不同的单词),并按次数从多到少打印结果,如果次数一样就按单词的字典顺序打印(大写先于小写) 。
输入格式:
在一行中输入一些英文单词,单词之间使用空格分隔,输入中没有数字和其他符号 。
输出格式:
输出每个单词出现的次数,每行输出一个单词,以及对应的出现次数,中间用英文冒号分隔 。
list=input().split()d={word:list.count(word) for word in set(list)}res=sorted(d.items(),key=lambda x:(-x[1],x[0]))for item in res:print('{}:{}'.format(item[0],item[1]))
10、查单词所在页码
输入一组单词在字典中的页码 。而后得出多个单词在字典中的页码分别是多少 。
输入格式:
首先输入的是一组单词及其在字典中的页码 。其中,第一行一个整数 N,表示字典中一共有多少单词(N≤20000) 。接下来每两行表示一个单词,其中: 两行中的第 1 行是一个长度≤100 的字符串,表示这个单词,全部字母小写,单词不会重复 。两行中的第 2 行是一个整数,表示这个单词在字典中的页码 。
接下来输入的是要查询页码的单词 。其中的第一行是一个整数 M,表示要查的单词数(M≤10000) 。接下来 M 行,每行一个字符串,表示要查的单词,保证在字典中存在 。
输出格式:
M 行,每行一个整数,表示第 i 个单词在字典中的页数 。