La mitad ----- tipo especial

Hay N elementos numerados 1,2 ... N, la relación entre el tamaño de cada elemento se determina por la relación con simetría de inversión, pero no transitiva.
Nota: cuando no existen dos elementos de igual tamaño.
Es decir, la relación entre el tamaño del elemento es los puntos de N * N en cualquier configuración de un borde dirigido (N-1) / 2 dirigida artículo FIG.
Sin embargo, este es un interactivo, que estas relaciones no pueden ser una sola vez, debe pasar no más de 10.000 preguntas para obtener información, cada pregunta sólo se puede entender la relación entre un cierto dos elementos.
Ahora se pone estos N elementos están alineados de modo que cada elemento es menor que el lado derecho y sus elementos adyacentes.
Usted puede obtener la relación de tamaño entre los dos elementos a través de nuestra función de pre-bool comparar.
Por ejemplo, el número de dos elementos A y B, el elemento si el elemento A es menor que B, la comparación (a, b) devuelve verdadero, de lo contrario retorna falso.
Después de los N elementos ordenados, poner su salida en forma de una matriz de números, si la respuesta no es única, salida de cualquiera puede ser.
Rango de datos
1≤N≤10001≤N≤1000
muestra de entrada
[[0, 1, 0], [0, 0, 0], [1, 1, 0]]

Ejemplo de salida
[3, 1, 2]

// Forward declaration of compare API.
// bool compare(int a, int b);
// return bool means whether a is less than b.
class Solution {
public:
    vector<int> specialSort(int N) {
         vector <int> res(1, 1);
   for (int i = 2; i <= N; i ++){
    int l = 0, r = res.size() - 1;
    while (l < r){
     int mid = l + r + 1 >> 1;
     if (compare(res[mid], i))   l = mid;
     else   r = mid - 1;
    }
   res.push_back(i);
   for (int j = res.size() - 2; j > r; j --)   swap(res[j], res[j + 1]);
   if (compare(i, res[r]))    swap(res[r], res[r + 1]);
   }
   return res;   
    }
};
Publicados 106 artículos originales · ganado elogios 67 · vistas 5442

Supongo que te gusta

Origin blog.csdn.net/qq_45772483/article/details/104725534
Recomendado
Clasificación