Pregunta: Dada una matriz ordenada Un encontrar toda posible diferencia de los elementos de A.Encuentra todas las diferencias en una serie de O (n)
Mi solución:
for (int i=0; i<n-1; ++i) {
for (int j=i+1; j<n; ++j) {
System.out.println(Math.abs(ai-aj));
}
}
Claro, es O (n^2), pero no cuento demasiado las cosas. Miré en línea y encontré esto: http://www.careercup.com/question?id=9111881. Dice que no puedes hacerlo mejor, pero en una entrevista me dijeron que puedes hacer O (n). ¿Lo cual está bien?
me habría cuidado de tomar un trabajo en esta empresa ... Probablemente se esperan a resolver problemas NP-completos en P time ... ;-) –
Supongo que usted o el entrevistador pasaron por alto o escucharon una condición adicional. –
Defina n como el número de diferencias (tamaño de salida en lugar de tamaño de entrada). Hey presto - ahora es O (n). – Steve314