मान लीजिए कि n यात्री ठीक n सीटों वाले हवाई जहाज में सवार होते हैं। यदि पहला यात्री टिकट खो देता है और बेतरतीब ढंग से सीट चुनता है। लेकिन उसके बाद, बाकी यात्री इन ऑपरेशनों का पालन करेंगे -
-
अगर टिकट अभी भी उपलब्ध हो तो अपनी सीट खुद लें, टिकट पर लिखा हो,
-
अन्य सीटों को बेतरतीब ढंग से चुनें जब वे अपनी सीट पर कब्जा कर लें
तो हमें यह पता लगाना होगा कि क्या प्रायिकता है कि n-वें व्यक्ति को अपनी सीट मिल सकती है? तो अगर इनपुट 2 है, तो आउटपुट 0.5 होगा। तो दूसरे व्यक्ति के पास दूसरी सीट पाने के लिए 0.5 की संभावना है (जब पहले व्यक्ति को पहली सीट मिलती है)।
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
-
अगर n 1 है, तो 1 लौटाएं, अन्यथा 0.5
उदाहरण (C++)
आइए हम इसे बेहतर ढंग से समझने के लिए निम्नलिखित कार्यान्वयन को देखें -
class Solution { public: double nthPersonGetsNthSeat(int n) { if (n == 1) return 1; return 0.5; } };
इनपुट
2
आउटपुट
0.50000