Python Dasar-dasarMudah

Menemukan produk skalar minimum dari dua vektor

Panduan terperinci dan implementasi Python untuk masalah 'Menemukan produk skalar minimum dari dua vektor'.

Pernyataan Masalah

Mudah

Tulis fungsi min_scalar_product(v1, v2) yang mengambil dua daftar bilangan bulat dengan panjang yang sama dan mengembalikan produk skalar (titik) minimum yang mungkin. Anda dapat mengatur ulang elemen di kedua vektor dalam urutan apa pun sebelum menghitung perkalian titik. Hasil kali titiknya adalah sum(v1[i] * v2[i]) untuk semua i. Untuk memperkecil, pasangkan yang terbesar dengan yang terkecil lainnya.

Kendala
  • 1 <= len(v1) == len(v2) <= 10^4
  • -10^5 <= v1[i], v2[i] <= 10^5

Contoh

Example 1
Input
v1 = [1, 3, -5], v2 = [-2, 4, 1]
Output
-25
Explanation

Sort v1 ascending: [-5,1,3]. Sort v2 descending: [4,1,-2]. Dot product: (-5)*4 + 1*1 + 3*(-2) = -20+1-6 = -25.

Example 2
Input
v1 = [1, 2, 3], v2 = [4, 5, 6]
Output
32
Explanation

Sort v1 ascending: [1,2,3]. Sort v2 descending: [6,5,4]. Dot: 1*6+2*5+3*4 = 6+10+12 = 32? Wait: minimum is 1*6+2*5+3*4=32. Alternative: 1*4+2*5+3*6=32. Actually min is 1*6+2*5+3*4=32.

Example 3
Input
v1 = [1, 1], v2 = [1, 1]
Output
2
Explanation

Both vectors are [1,1]. Any arrangement gives 1*1 + 1*1 = 2.

Need a Hint?
Pertimbangkan untuk menggunakan struktur data khusus Array seperti kumpulan atau tumpukan.
Edge Cases to Watch
  • Struktur masukan kosong
  • Masukan elemen tunggal
  • Batasan angka yang besar

Siap Memecahkannya?

Open the problem in PyRun's browser-based Python editor. Your code runs fully offline — no server required.

Buka di Editor
Found this breakdown helpful?

PyRun is built and maintained by an independent solo developer. If this helped your interview prep, consider buying a coffee!

Buy me a coffee

Sumber Daya Python yang Direkomendasikan

Perluas pengetahuan Anda dengan tutorial interaktif terkait, lembar contekan, dan perbandingan kode.