समस्या
हमें एक जावास्क्रिप्ट फ़ंक्शन लिखना है जो दो स्ट्रिंग्स, str1 और str2 को पहले और दूसरे तर्क के रूप में लेता है।
हमारे फ़ंक्शन को स्ट्रिंग str1 को दोहराए जाने की न्यूनतम संख्या वापस करनी चाहिए ताकि स्ट्रिंग str2 इसका एक विकल्प हो। अगर इसे दोहराने के बाद str2 के लिए a का सबस्ट्रिंग होना असंभव है, तो हमें -1
. लौटना चाहिएउदाहरण के लिए, यदि फ़ंक्शन का इनपुट है
इनपुट
const str1 = 'wxyz'; const str2 = 'yzwxyzwx';
आउटपुट
const output = 3;
आउटपुट स्पष्टीकरण
हम 3 लौटते हैं क्योंकि "abcdabcdabcd" को तीन बार दोहराने से b इसका एक विकल्प है।
उदाहरण
निम्नलिखित कोड है -
const str1 = 'wxyz'; const str2 = 'yzwxyzwx'; const countRepeat = (str1 = '', str2) => { let i = 1 let current = str1 while (true) { if (current.indexOf(str2) >= 0) { return i } if ((current.length > str2.length * 2) && i > 2) { return -1 } current += str1 i += 1 } } console.log(countRepeat(str1, str2));
आउटपुट
3