1. 高矮个子排队
示例代码:
# 利用 列表 相邻 元素 之间的关系
# 测试数据
s1 = [4, 1, 3, 5, 2]
def fun(s):if all(_ == s[0] for _ in s):return scur = 0while cur < len(s) - 1:if cur % 2 == 0:if s[cur] < s[cur + 1]:s[cur],s[cur + 1] = s[cur + 1],s[cur]elif cur % 2 == 1:if s[cur] > s[cur + 1]:s[cur], s[cur + 1] = s[cur + 1], s[cur]cur += 1return sr = fun(s1)
print(r)
2. We Are A Team
示例代码:
# 核心 找出 当前元素的关联元素, 判断另一个元素是否在该集合中即可
# 测试数据
ss = [[1, 2, 0],[1, 2, 1],[1, 5, 0],[2, 3, 1],[2, 5, 1],[1, 3, 2]
]
# 该函数用于找出所有相关元素
def fun1(a_list,ss):# 递归终止条件if len(a_list) == 0:return []tmp = []for a in a_list:t = []for i in ss:if i[0] == a:tmp.append(i[1])t.append(i)if i[1] == a:tmp.append(i[0])t.append(i)if len(t) != 0:for ele in t:ss.remove(ele)# 递归 查找a_list.extend(fun1(tmp, ss))return a_listdef fun(ss):for i in ss:if i[2] == 1:new_list = [_ for _ in ss if _[2] == 0]a = i[0]b = i[1]a_list = [a, ]# 用于 a 元素的所关系元素aa = fun1(a_list, new_list)if b in aa:print("we are a team")else:print("we are not team")elif i[2] > 1:print("da pian zi")
fun(ss)