摩天大楼挑战赛的短版
任务
给定建筑物高度的数组和正整数k
,找到高度的所有排列(无重复),以使k
建筑物完全可见。
任何建筑物都会在其后隐藏所有较短或等高的建筑物。
输入和输出的任何格式均有效。
输入数组永远不会为空。
如果看不到那么多建筑物,请输出任何不能回答但没有错误的内容。
例子:
(对于很长的输出,显示了输出长度,但是您的输出应该是所有可能的排列)
input:[1,2,3,4,5],2
output: 50
input:[5,5,5,5,5,5,5,5],2
output: []
input:[1,2,2],2
output:[(1,2,2)]
Seeing from the left, exactly 2 buildings are visible.
input:[1,7,4],2
output:[(4, 7, 1), (1, 7, 4), (4, 1, 7)]
input:[1,2,3,4,5,6,7,8,9],4
output:67284
input:[34,55,11,22],1
output:[(55, 34, 11, 22), (55, 22, 34, 11), (55, 34, 22, 11), (55, 11, 34, 22), (55, 22, 11, 34), (55, 11, 22, 34)]
input:[3,4,1,2,3],2
output:31
这是代码高尔夫球,所以最短的代码胜出
可选:如果可能,您是否可以添加if length is greater than 20: print length else print answer
。在页脚中,而不在代码中。
[1,2,3,4,5],5 -> [(1,2,3,4,5)]
。当前的测试用例都无法确保答案能够支持显示所有建筑物(尽管我不知道是否有任何问题)。