本文主要是介绍CareerCup View from the left and the right,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
You are given N blocks of height 1…N. In how many ways can you arrange these blocks in a row such that when viewed from left you see only L blocks (rest are hidden by taller blocks) and when seen from right you see only R blocks? Example given N=3, L=2, R=1 there is only one arrangement {2, 1, 3} while for N=3, L=2, R=2 there are two ways {1, 3, 2} and {2, 3, 1}.
------------------------------------------------------
consider moving 1 in different position. When we put 1 at position 2, 3, ... n-1, it has no contribution to both view. When it is put at position 1, it add 1 to the left view and when it is put at n, it adds 1 to right view. Hence We have
F(n, L, R) = (n - 2)*F(n-1, L, R) + F(n-1, L-1, R) + F(n-1, L, R - 1)
这篇关于CareerCup View from the left and the right的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!