चुनौती
आपको दिया गया है:
- धनात्मक पूर्णांक की एक गैर-खाली, अनसोल्ड सूची h (हैस्टैक)
- एक धनात्मक पूर्णांक n (सुई)
आपका कार्य h के क्रमपरिवर्तन के सभी अनूठे दशमलव समाकलन की सूची को वापस करना है जिसके बाइनरी प्रतिनिधित्व में n का बाइनरी प्रतिनिधित्व है ।
उदाहरण
h = [१, २, ३]
n = ६५केवल एक मिलान मिलान है, इसलिए अपेक्षित आउटपुट है
[321]
।h = [१, २, ३]
n = 2इस बार, तीन संयोजन हैं जिनमें बाइनरी पैटर्न 111 शामिल हैं । अपेक्षित आउटपुट है
[123, 231, 312]
।h = [१२, ३]
n = 3केवल दो क्रमपरिवर्तन उपलब्ध हैं और दोनों मिलान कर रहे हैं। अपेक्षित आउटपुट है
[123, 312]
।h = [१, २, २]
n = १५एकमात्र मिलान मिलान 122 ( बाइनरी में 1111010 , जिसमें 1111 शामिल हैं ) है, इसलिए अपेक्षित आउटपुट है
[122]
। ध्यान दें कि दो क्रमपरिवर्तन वास्तव में 122 तक ले जाते हैं लेकिन आपको आउटपुट की अनुमति नहीं है[122, 122]
।
स्पष्टीकरण और नियम
- आप सुई को पूर्णांक (
65
), दशमलव मान का प्रतिनिधित्व करने वाली स्ट्रिंग ("65"
) या बाइनरी मान का प्रतिनिधित्व करने वाले स्ट्रिंग ("1000001"
) के रूप में ले सकते हैं। - आप मूल सारणी / वस्तु / पूर्णांक के सेट (
[11,12,13]
), एक मूल सरणी / वस्तु / सेट को दशमलव मानों (["11","12","13"]
), या दशमलव मानों ("11 12 13"
या"11,12,13"
) के सीमांकित स्ट्रिंग के रूप में सेट कर सकते हैं । आप अंकों के सरणियों (जैसे[[1,1],[1,2],[1,3]]
) का उपयोग कर एक प्रकार का विकल्प भी चुन सकते हैं । - आउटपुट को हाईस्टैक के लिए ऊपर वर्णित स्वरूपों में से एक का पालन करना चाहिए, लेकिन जरूरी नहीं कि वही हो।
- आप ऐसी हाइस्टैक को संभालने वाले नहीं हैं जिसका उच्चतम दशमलव संयोजन आपकी भाषा में उच्चतम प्रतिनिधित्व योग्य अहस्ताक्षरित पूर्णांक से अधिक है।
- इसके अलावा, आपके कोड को सैद्धांतिक रूप से किसी भी इनपुट का समर्थन करना चाहिए - यह मानते हुए कि उसे पर्याप्त समय और मेमोरी दी गई है।
- यह
सपार्टा है!कोड-गोल्फ , तो बाइट्स में सबसे छोटा जवाब जीत!
परीक्षण के मामलों
Haystack | Needle | Output
---------------------+----------+-----------------------------------
[ 1, 2, 3 ] | 65 | [ 321 ]
[ 1, 2, 3 ] | 7 | [ 123, 231, 312 ]
[ 12, 3 ] | 7 | [ 123, 312 ]
[ 1, 2, 2 ] | 15 | [ 122 ]
[ 1, 2 ] | 7 | []
[ 12, 34, 56 ] | 21 | [ 125634, 341256, 345612, 563412 ]
[ 1, 2, 3, 4, 5 ] | 511 | [ 53241 ]
[ 1, 3, 5, 7, 9 ] | 593 | [ 37519, 51793, 75913, 75931 ]
[ 11, 12, 13, 14 ] | 12141311 | [ 12141311 ]
[ 1, 2, 1, 2, 1, 2 ] | 1015 | [ 221112 ]
["12","3"]
और ["1","23"]
दो अलग-अलग haystacks हैं।
set([(1, 2, 2)])
। क्या यह वैध है या मुझे इससे छुटकारा चाहिएset
?