Consejos de programación Java para entrevistas

Estás leyendo la publicación: Consejos de programación Java para entrevistas

Si la cola tiene objetos, el uso de System.out.println(queue) imprimirá códigos hash. Entonces, en su lugar, puedes usar:

1 2 3 4 for(Entero x: cola) { System.out.print(x + “,”); } Sistema.salida.println();

Ordenación personalizada de matriz usando Lambda

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 // Ordenar según el primer elemento en la matriz 2D. En t[][] intervalos; Arrays.sort(intervalos, (a,b) -> a[0] – b[0]); Arrays.sort(intervalos, (a,b) -> {return (a[0] – b[0]);}); //Ordenar según la duración del mes. Cadena[] meses = {“Enero”,”Febrero”,”Marzo”,”Abril”}; Arrays.sort(meses, (a, b) -> a.longitud() – b.longitud()); Arrays.sort(meses, Comparator.comparingInt(String::length)); Arrays.sort(meses, (String a, String b) -> { return Integer.signum(a.length() – b.length()) }; );

Análisis de dígitos de cadena.

1 2 3 4 5 6 7 8 9 public static void main(String[] argumentos) { Cadena s = “2”; int a = s.charAt(0) – ‘0’; Sistema.salida.println(a); //resultado = 2 int b = s.charAt(0); Sistema.fuera.println(b); //resultado = 50 }

Análisis de enteros a partir de una cadena.

1 Puede usar Integer.valueOf(s)
1 2 3 4 5 int i = 20; Integer.toBinaryString(i); //Imprime en entero binario.toString(i, 2); //Imprime en base 2, es decir, entero binario.toString(i, n); //Imprime en base n

Mapa de árbol de Java.

floorKey() : El método floorKey se usa para devolver un mapeo de teclas asociado con la mayor clave menor o igual a la clave dada, o nulo si no existe tal clave.
Map.Entry floorEntry(): El método floorEntry(K key) se utiliza para devolver una asignación de clave-valor asociada con la clave mayor menor o igual que la clave dada, o nula si no existe tal clave. CeilingKey() : La función CeilingKey de TreeMap Class devuelve la clave mínima mayor o igual que la clave dada o nula si dicha clave está ausente.

🔥 Recomendado:  Se informa que Facebook lanzará una aplicación experimental para parejas

Consejos adicionales para la programación

  1. En la búsqueda binaria, la posición de inserción de un elemento no es más que la posición de ‘inicio’ (es decir, el inicio de retorno) en una versión iterativa de la búsqueda binaria. El uso del problema de la posición de inserción lo ayuda a resolver muchos problemas similares de búsqueda binaria.
  2. El rango largo de Java puede ser de -10 ^ 18 a 10 ^ 18 (precisamente: -9,223,372,036,854,775,808 a +9,223,372,036,854,775,807)
  3. Si el número de ocurrencias de más de dos caracteres es impar, no puedes formar un palíndromo con él.
  4. Para los palíndromos, si el orden no importa, se puede optar por un enfoque de conteo.
  5. En una matriz, la diagonal actual se puede identificar con int currDiagonal = fila – col; int currAntiDiagonal = fila + columna;
  6. Para que el gráfico sea un árbol válido, debe tener exactamente n – 1 aristas. Menos, y posiblemente no pueda estar completamente conectado. Más, y tiene que contener ciclos. Además, si el gráfico está completamente conectado y contiene exactamente n – 1 aristas, no es posible que contenga un ciclo y, por lo tanto, ¡debe ser un árbol!
  7. En algunas preguntas piden MOD (de 10^9 + 7) si el rango es alto. En ese caso puedes definir mod como int MOD = (1e9 + 7). La respuesta será x % MOD.
  8. La complejidad temporal de una función recursiva es: O (Número de ramas ^ profundidad de cada rama).