समस्या
सूची में पहले नकारात्मक संख्या का स्थान (0 से गिनते हुए) पता करें।
first_negative_index(numbers) को लागू करें।
इनपुट
numbers: पूर्णांकों की सूची।
आउटपुट
इंडेक्स लौटाएँ, या यदि कोई नकारात्मक संख्या नहीं है तो -1 लौटाएँ।
सीमाएँ
0 ≤ लंबाई ≤ 100,000
उदाहरण
इनपुट:
numbers = [4, 0, -2, -7]
अपेक्षित आउटपुट:
expected = 2
इनपुट:
std::vector<long long> numbers = {4, 0, -2, -7};
अपेक्षित आउटपुट:
long long expected = 2;
इनपुट:
long[] numbers = new long[] {4, 0, -2, -7};
अपेक्षित आउटपुट:
long expected = 2;
व्याख्या
इंडेक्स 2 पर -2 पहली नकारात्मक संख्या है।
इनपुट:
numbers = [1, 2, 3]
अपेक्षित आउटपुट:
expected = -1
इनपुट:
std::vector<long long> numbers = {1, 2, 3};
अपेक्षित आउटपुट:
long long expected = -1;
इनपुट:
long[] numbers = new long[] {1, 2, 3};
अपेक्षित आउटपुट:
long expected = -1;
व्याख्या
कोई नकारात्मक संख्या नहीं है, इसलिए उत्तर -1 है।
कैसे हल करें
पहले खुद कोशिश करें, फिर एक-एक करके संकेत खोलें।
संकेत 1
तुम्हें सिर्फ वह पहली position चाहिए जहाँ value शून्य से कम हो।
संकेत 2
बाएँ से दाएँ scan करो और जैसे ही negative मिले, रुक जाओ।
संकेत 3
अगर कोई negative value न मिले, तो missing-case value लौटाना मत भूलना।
अपेक्षित जटिलता
समय O(n), अतिरिक्त स्थान O(1)
संदर्भ
यह चुनौती CodeUtility के लिए अनुकूलित की गई है। ऊपर दिए गए स्टेटमेंट और सीमाओं का पालन करें।