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

दो वेक्टरों का डॉट प्रोडक्ट

दो वेक्टरों के हर तत्व को आपस में गुणा करके परिणाम जोड़ें, यही हर न्यूरॉन की मूल गणना है।

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

  • वेक्टर को तत्व-दर-तत्व गुणा करके जोड़ना
  • न्यूरॉन की मूल गणना समझना
  • संख्याओं के ऐरे के साथ काम करना

समस्या

हर न्यूरॉन एक ही गणना से शुरू होता है: हर इनपुट को उसके वेट से गुणा करें और सब जोड़ दें। यही दो वेक्टरों का डॉट प्रोडक्ट है:

a · b = a₁×b₁ + a₂×b₂ + … + aₙ×bₙ

dot_product(a, b) लागू करें।

इनपुट

a, b: समान लंबाई की दो संख्या सूचियाँ।

आउटपुट

डॉट प्रोडक्ट को दशमलव संख्या के रूप में लौटाएँ।

सीमाएँ

1 ≤ a की लंबाई = b की लंबाई ≤ 1,000

-1,000 ≤ हर मान ≤ 1,000

उदाहरण

उदाहरण 1
इनपुट:
a = [1.0, 2.0, 3.0]
b = [4.0, 5.0, 6.0]

अपेक्षित आउटपुट:
expected = 32.0
इनपुट:
std::vector<double> a = {1.0, 2.0, 3.0};
std::vector<double> b = {4.0, 5.0, 6.0};

अपेक्षित आउटपुट:
double expected = 32.0;
इनपुट:
double[] a = new double[] {1.0, 2.0, 3.0};
double[] b = new double[] {4.0, 5.0, 6.0};

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

व्याख्या

1×4 + 2×5 + 3×6 = 4 + 10 + 18 = 32।

उदाहरण 2
इनपुट:
a = [0.5, -1.5]
b = [2.0, 4.0]

अपेक्षित आउटपुट:
expected = -5.0
इनपुट:
std::vector<double> a = {0.5, -1.5};
std::vector<double> b = {2.0, 4.0};

अपेक्षित आउटपुट:
double expected = -5.0;
इनपुट:
double[] a = new double[] {0.5, -1.5};
double[] b = new double[] {2.0, 4.0};

अपेक्षित आउटपुट:
double expected = -5.0;

व्याख्या

0.5×2 + (-1.5)×4 = 1 - 6 = -5।

कैसे हल करें

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

संकेत 1

दोनों lists के matching positions को multiply करें और results को एक total में जोड़ें.

संकेत 2

एक ही pass काफी है, क्योंकि हर pair final value में independently contribute करता है.

संकेत 3

ध्यान रखें दोनों lists की length same हो, और accumulator numeric type ऐसा हो जो जरूरत पड़े तो decimals preserve करे.

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

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

संदर्भ

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

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

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

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