Python Dasar-dasarKeras

Menemukan produk skalar maksimum dari dua vektor

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

Pernyataan Masalah

Keras

Tulis fungsi max_scalar_product(v1, v2) yang mengambil dua daftar bilangan bulat dengan panjang yang sama dan mengembalikan hasil kali skalar (titik) maksimum yang mungkin. Anda dapat mengatur ulang elemen di kedua vektor dalam urutan apa pun sebelum menghitung perkalian titik. Untuk memaksimalkannya, urutkan kedua vektor dalam urutan yang sama dan pasangkan elemen yang sesuai.

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
23
Explanation

Sort both ascending: v1=[-5,1,3], v2=[-2,1,4]. Dot: (-5)*(-2)+1*1+3*4 = 10+1+12 = 23.

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

Sort both ascending: [1,2,3] and [4,5,6]. Dot: 1*4+2*5+3*6 = 4+10+18 = 32.

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

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.