第二题这么做貌似可以应对各种情况,比如说【‘aa’, 'bb',...】 import numpy as np def loop(strings): alphas = np.zeros(58, dtype=int) alphaApper = np.zeros(58, dtype=int) chara = ord('a') for string in strings: if string != '': head = ord(string[0]) tail = ord(string[-1]) if head == tail: if alphaApper[head - chara] == 0: alphaApper[head - chara] = 26 else: if alphas[head - chara] > 0: alphas[head - chara] -= 1 else: alphas[head - chara] = 1 if alphaApper[head - chara] == 26 or alphaApper[head - chara] == 0: alphaApper[head - chara] = -1 if alphas[tail - chara] > 0: alphas[tail - chara] -= 1 else: alphas[tail - chara] = 1 if alphaApper[tail - chara] == 26 or alphaApper[tail - chara] == 0: alphaApper[tail - chara] = -1 if np.sum(alphas) == 0 and np.sum(alphaApper) <= 0: return True return False if __name__ == "__main__": strings = ['aa', 'ab', 'ba', 'bb', 'aa', ''] print(loop(strings))
点赞 2

相关推荐

不愿透露姓名的神秘牛友
07-25 17:55
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务