चुनौतियों पर वापस जाएँ
आसान 0 हल किए गए 0% स्वीकृति

हैंडशेक की गिनती करें

जब हर जोड़ी व्यक्ति एक बार हाथ मिलाती है, तो कुल हैंडशेक की गिनती करें।

आप क्या सीखेंगे

  • n × (n - 1) / 2 से जोड़े गिनना
  • तर्क से हर जोड़े को एक ही बार गिनना
  • लूप को सूत्र से बदलना

समस्या

हर व्यक्ति हर अन्य व्यक्ति से एक बार हाथ मिलाता है। A और B के बीच हैंडशेक, B और A के बीच हैंडशेक के बराबर है। कोई भी व्यक्ति खुद से हाथ नहीं मिलाता।

handshake_count(people) को इम्प्लीमेंट करें।

इनपुट

people: लोगों की संख्या।

आउटपुट

कुल अलग-अलग हैंडशेक की संख्या लौटाएँ।

सीमाएँ

0 ≤ people ≤ 1,000,000,000। उत्तर एक signed 64-बिट पूर्णांक में समा जाएगा।

उदाहरण

उदाहरण 1
इनपुट:
people = 4

अपेक्षित आउटपुट:
expected = 6
इनपुट:
long long people = 4;

अपेक्षित आउटपुट:
long long expected = 6;
इनपुट:
long people = 4;

अपेक्षित आउटपुट:
long expected = 6;

व्याख्या

जो जोड़ियाँ हैं वे हैं: AB, AC, AD, BC, BD, और CD: कुल छह हैंडशेक।

उदाहरण 2
इनपुट:
people = 1

अपेक्षित आउटपुट:
expected = 0
इनपुट:
long long people = 1;

अपेक्षित आउटपुट:
long long expected = 0;
इनपुट:
long people = 1;

अपेक्षित आउटपुट:
long expected = 0;

व्याख्या

एक व्यक्ति के पास अभिवादन करने के लिए कोई और नहीं है।

कैसे हल करें

पहले खुद कोशिश करें, फिर एक-एक करके संकेत खोलें।

संकेत 1

हर handshake बस distinct लोगों का एक unordered pair है.

संकेत 2

सभी लोगों से बनने वाले pairs गिनो, बिना double-counting के.

संकेत 3

ध्यान रहे, zero या one person होने पर कोई handshake नहीं होता.

अपेक्षित जटिलता

समय O(1), अतिरिक्त स्थान O(1)

संदर्भ

यह चुनौती CodeUtility के लिए अनुकूलित की गई है। ऊपर दिए गए स्टेटमेंट और सीमाओं का पालन करें।

दूसरों से सीखें

समुदाय समाधान

अभी तक कोई प्रकाशित समाधान नहीं। पहला साझा करने के लिए इस चुनौती को हल करें।