समस्या
Every neuron starts with the same calculation: multiply each input by its weight and add everything up. That is the dot product of two vectors:
a · b = a₁×b₁ + a₂×b₂ + … + aₙ×bₙ
Implement dot_product(a, b).
Input
a, b: Two lists of numbers with the same length.
Output
Return the dot product as a decimal number.
सीमाएँ
1 ≤ length of a = length of b ≤ 1,000
-1,000 ≤ each value ≤ 1,000
उदाहरण
इनपुट:
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.
इनपुट:
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
Multiply matching positions from the two lists and combine the results into one total.
संकेत 2
A single pass is enough because each pair contributes independently to the final value.
संकेत 3
Make sure the lists have the same length, and keep the accumulator in a numeric type that preserves decimals if needed.
अपेक्षित जटिलता
O(n) time, O(1) extra space
संदर्भ
यह चुनौती CodeUtility के लिए अनुकूलित की गई है। ऊपर दिए गए स्टेटमेंट और सीमाओं का पालन करें।