根据某条件聚类最少交换次数

标题:根据某条件聚类最少交换次数 | 时间限制:1秒 | 内存限制:262144K | 语言限制:不限
给出数字K,请输出所有结果小于K的整数组合到一起的最少交换次数。
组合一起是指满足条件的数字相邻,不要求相邻后在数组中的位置。


while True:
    try:
        list1 = input().strip().split()
        k = int(input())
        list_index, list2 = [], []
        for i in range(len(list1)):
            list2.append(i)
            if int(list1[i]) < k:
                list_index.append(i)
        len_num = len(list_index)
        max_num = 0
        for index in list_index:
            num = len(set(list_index) & set(list2[index:index + len_num]))
            if num > max_num:
                max_num = num
        min = len_num - max_num
        print(min)
    except:
        break


全部评论

相关推荐

评论
1
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务