Python Conceptos básicosduro

Encontrar el producto escalar máximo de dos vectores

Guía detallada e implementación de Python para el problema 'Encontrar el producto escalar máximo de dos vectores'.

Declaración del problema

duro

Escriba una función max_scalar_product(v1, v2) que tome dos listas de números enteros de igual longitud y devuelva el máximo producto escalar (punto) posible. Puede reorganizar elementos en ambos vectores en cualquier orden antes de calcular el producto escalar. Para maximizar, ordene ambos vectores en el mismo orden y empareje los elementos correspondientes.

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

Ejemplos

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?
Considere la posibilidad de utilizar estructuras de datos específicas de matrices, como conjuntos o montones.
Edge Cases to Watch
  • Estructuras de entrada vacías
  • Entradas de un solo elemento
  • Grandes límites numéricos

¿Listo para resolver?

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

Abrir en el 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

Recursos recomendados de Python

Amplíe sus conocimientos con tutoriales interactivos relacionados, hojas de trucos y comparaciones de códigos.