较短版本的摩天大楼挑战
给定一个建筑物高度数组和一个正整数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__的内容吗?在页脚,而不是在代码中。
发布于 2018-11-15 07:35:25
发布于 2018-11-15 15:27:40
https://codegolf.stackexchange.com/questions/175970
复制相似问题