मान लीजिए कि हमारे पास एक बाइनरी सूची है जिसे फाइटर्स कहा जाता है और बाइनरी सूचियों की एक अन्य सूची बॉस कहलाती है। सेनानियों की सूची में 1 एक लड़ाकू का प्रतिनिधित्व कर रहा है। इसी तरह, बॉस की सूची में 1 बॉस का प्रतिनिधित्व करता है। वह लड़ाके बॉस की पंक्ति को हरा सकते हैं यदि उसमें मालिकों की तुलना में अधिक सेनानी हों। हमें हारे हुए बॉस की पंक्तियों को हटाकर एक नया बॉस मैट्रिक्स वापस करना होगा।
तो, अगर इनपुट सेनानियों की तरह है =[0,1,1]
0 | 1 | 1 |
0 | 0 | 0 |
0 | 0 | 1 |
0 | 1 | 1 |
1 | 1 | 1 |
तो आउटपुट होगा
0 | 1 | 1 |
1 | 1 | 1 |
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
-
Fighter_cnt :=सेनानियों के सभी तत्वों का योग
-
परिणाम:=एक नई सूची
-
मालिकों में प्रत्येक पंक्ति के लिए, करें
-
अगर फाइटर_सीएनटी <=पंक्ति में प्रत्येक तत्व का योग, तो
-
परिणाम के अंत में पंक्ति डालें
-
-
-
वापसी परिणाम
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -
उदाहरण
class Solution: def solve(self, fighters, bosses): fighter_cnt = sum(fighters) result = [] for row in bosses: if fighter_cnt <= sum(row): result.append(row) return result ob = Solution() fighters = [0, 1, 1] bosses = [[0, 0, 0], [0, 0, 1], [0, 1, 1], [1, 1, 1]] print(ob.solve(fighters, bosses))
इनपुट
[0, 1, 1], [[0, 0, 0], [0, 0, 1], [0, 1, 1], [1, 1, 1]]
आउटपुट
[[0, 1, 1], [1, 1, 1]]