Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

803
Visualizações
Solución de HackerEarth Pregunta que falla para el caso de prueba de entrada

A continuación, hackerearth qn se ha preguntado en uno de los qns de codificación

Más lejos de cero

Se le da una matriz de enteros A de tamaño N.

Tarea Escriba un programa para imprimir el elemento más alejado de 0. Si hay varios elementos, imprima el número con el menor valor.

Formato de entrada

  • La primera línea contiene un solo número entero N que indica el tamaño de la matriz A.
  • La siguiente línea contiene N enteros que denotan los elementos de la matriz A.

Formato de salida

Imprime el elemento más alejado de 0.

Ejemplo de entrada 1

5

1 2 3 4 5

Salida de muestra1

5

Solución preparada por mí:

 public static farthestfromzero(int N, int [] Arr) { TreeSet<Integer> ts = new TreeSet<Integer>(); for (int i=0; i<N; i++){ ts.add(Arr[i]); } return ts.last(); }

Pregunte : esta solución funcionó para mí en el escenario inicial, pero cuando la envié, no funcionó.

over 4 years ago · Santiago Trujillo
3 Respostas
Responde à pergunta

0

Su algoritmo no tiene en cuenta los enteros negativos.

Considere esta matriz:

[-10, 7, 5, 1]

¿Qué número está más alejado de cero?
¿Cuál elegirá su algoritmo?

También tenga en cuenta, este requisito:

Si hay varios elementos, imprima el número con el menor valor.

Entonces, de una matriz como esta:

[-10, 1, 2 ,10]

Debe elegir -10, y no 10.

over 4 years ago · Santiago Trujillo Relatório

0

Esto se debe a que el conjunto de árboles está ordenado por los valores, el número puede ser positivo. Así que... creo que debería ser esto:

 public static int farthestfromzero(int N, int [] Arr) { TreeSet<Integer> ts = new TreeSet<Integer>(); for (int i=0; i<N; i++){ ts.add(Arr[i]); } int maxV = ts.last(); int minV = ts.first(); if(Math.abs(minV) >= maxV){ return minV; } return maxV; }

Además, si se excede la memoria, intente esto:

 public static int farthestfromzero(int N, int [] Arr) {//You don't really need to store every elements int best = 0; for(int i = 0;i<N;i++) { if(Math.abs(Arr[i]) > Math.abs(best)) { best = Arr[i]; }else if(Math.abs(best) == Math.abs(Arr[i]) && best > Arr[i]) { best = Arr[i]; } } return best; }
over 4 years ago · Santiago Trujillo Relatório

0

Aquí está mi respuesta. Acabo de escribir la lógica central. Agregue la verificación de condición básica. Además, lo hice en Python3. Código comentado la expansión del siguiente código de una sola línea.

 A1 = sorted(A) print(A1[0]) if (abs(A1[0])> abs(A1[-1])) else print(A1[-1]) if (abs(A1[0]) < abs(A1[-1])) else print(A1[0]) # if (abs(A1[0])== abs(A1[-1])): # print(A1[0]) # else: # if(abs(A1[0]) > abs(A1[-1])): # print(A1[0]) # else: # print(A1[-1])
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda