เวอร์ชั่นสั้นของChallenge ตึกระฟ้า
งาน
เมื่อกำหนดความสูงของอาคารและจำนวนเต็มบวก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)]
กรณีทดสอบที่แนะนำ: ไม่มีกรณีทดสอบในปัจจุบันรับรองว่าคำตอบสามารถรองรับการแสดงสิ่งปลูกสร้างทั้งหมด (แม้ว่าฉันไม่รู้ว่าจริง ๆ มีปัญหากับสิ่งนั้น)