Partición de matriz
Dificultad de división de la matriz: Tasa de aprobación: 74% Número de presentaciones: 134 Fuente del tema: Descripción del tema Enviar descripción del registro
Dada una matriz de 2n enteros, su tarea es dividir estos enteros en n grupos, como (a1, b1), (a2, b2), ..., (an, bn). Y haga que la suma de min (ai, bi) de 1 an sea lo más grande posible.
n es un número entero positivo y el rango es [1, 10000].
El rango de elementos en la matriz es [-10000, 10000].
Ejemplo
Ejemplo 1:
Entrada: [1,4,3,2]
Salida: 4
Explicación: n es 2, y la suma de pares de números más grande es 4 = min (1, 2) + min (3, 4).
Ejemplo 2:
Entrada: [5,6]
Salida: 5
Explicación: n es 1, y la suma de pares de números más grande es 5 = min (5, 6). Este
problema se hizo durante diez minutos, jaja
Primero se ordena y luego se agrupa en pares según 1, 3, 5 ...
class Solution {
public:
/**
* @param nums: an array
* @return: the sum of min(ai, bi) for all i from 1 to n
*/
int arrayPairSum(vector<int> &nums) {
// Write your code here
sort(nums.begin(), nums.end());
int r = 0;
for(int i = 0; i < nums.size(); i = i + 2)
{
r += nums[i];
}
return r;
}
};
Publicado el 24 de octubre de 2020Algoritmo de etiqueta en
Algoritmo
de actividad de Alibaba Cloud: Partición de matriz