Python Temel BilgilerKolay

İki vektörün Minimum skaler çarpımını bulma

'İki vektörün Minimum skaler çarpımını bulma' sorunu için ayrıntılı kılavuz ve Python uygulaması.

Sorun Bildirimi

Kolay

Eşit uzunlukta iki tamsayı listesi alan ve mümkün olan minimum skaler (nokta) çarpımı döndüren bir min_scalar_product(v1, v2) işlevi yazın. Nokta çarpımı hesaplamadan önce her iki vektördeki öğeleri istediğiniz sırayla yeniden düzenleyebilirsiniz. Tüm i'ler için iç çarpım sum(v1[i] * v2[i])'dir. Küçültmek için birinin en büyüğünü diğerinin en küçüğüyle eşleştirin.

Kısıtlamalar
  • 1 <= len(v1) == len(v2) <= 10^4
  • -10^5 <= v1[i], v2[i] <= 10^5

Örnekler

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?
Kümeler veya yığınlar gibi Dizilere özgü veri yapılarını kullanmayı düşünün.
Edge Cases to Watch
  • Boş giriş yapıları
  • Tek eleman girişleri
  • Büyük sayısal sınırlar

Çözmeye Hazır mısınız?

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

Editörde Aç
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

Önerilen Python Kaynakları

İlgili etkileşimli eğitimler, yardımcı sayfalar ve kod karşılaştırmalarıyla bilginizi genişletin.