Código Leet: 922. Ordenar matriz por paridad II

Inserte la descripción de la imagen aquí
Tenga en cuenta que el tamaño de la matriz dada aquí debe ser par, por lo que para darse cuenta de que los subíndices impares requeridos por el problema corresponden a números impares, y los subíndices pares corresponden a números pares, podemos considerar recorrer los subíndices pares en la matriz para ver si es par, si De lo contrario, el número no impar correspondiente al índice impar se reemplaza por una posición, y la posición del índice impar se registra al mismo tiempo, de modo que el recorrido comienza directamente desde el punto en el siguiente recorrido. Lo que debe saberse es que cuando el número correspondiente al subíndice par es par, el número correspondiente al subíndice impar en la matriz debe ser impar. El código es el siguiente:

vector<int> sortArrayByParityII(vector<int>& A) {
	int index = 1;
    for (int i = 0; i < A.size(); i+=2) {
        if(A[i] % 2 != 0){
            for (int j = index; j < A.size(); j+=2) {
                if(A[j] % 2 == 0){
                    int tmp = A[i];
                    A[i] = A[j];
                    A[j] = tmp;
                    index = j + 2;
                }
            }
        }
    }
    return A;
}
Publicado 34 artículos originales · Me gusta 10 · Visitantes más de 10,000

Supongo que te gusta

Origin blog.csdn.net/weixin_41111088/article/details/90738898
Recomendado
Clasificación