"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > Description del desafío de Codewars: menos más grande, de básico a avanzado

Description del desafío de Codewars: menos más grande, de básico a avanzado

Publicado el 2025-05-03
Navegar:593

Sharing Solusi Tantangan CodeWars: Least Larger, dari Dasar hingga aris

Aprenda de los desafíos de Codewars: menos más grande

¡Hola amigos! Esta vez quiero compartir los desafíos menos más grandes de Codewars. Este desafío es muy emocionante debido a la lógica de capacitación y las formas de pensar sistemáticas, al tiempo que proporciona una idea de cómo este concepto puede ser útil en el mundo real. ¡Vamos, discutimos juntos!


¿Cuál es el desafío?

Entonces, se nos da una matriz de números y un índice particular. Nuestra tarea es buscar el número más pequeño que es más grande de los elementos en el índice, luego devolver el índice . Si no hay números que cumplan, debemos devolver -1.

Ejemplo:

Array: [4, 1, 3, 5, 6]

Índice: 0 (el número de referencia es 4)

El resultado es 3, porque el número más pequeño que es mayor que 4 es 5, que está en el índice 3.
¿Por qué puede 3?
La matriz comienza desde 0
Entonces :
4: índice 0
1: índice 1
3: índice 2
5: índice 3
6: índice 4


La solución que hice

Para completar este desafío, hice una función llamada Menillarger. El siguiente es el código:

function leastLarger(a, i) {
  let smaller = Infinity; // Nilai pembanding awal
  let result = -1;        // Default hasil kalau nggak ada elemen yang memenuhi

  for (let index = 0; index  a[i] && a[index] 





¿Cómo funciona?

  1. inicialización inicial

    • Establecí el infinito más pequeño como el valor inicial para la comparación.
    • El resultado se estableció en el primer lugar en caso de que no hubiera un elemento que cumpla.
    • reviso cada elemento en la matriz.
    • hay dos condiciones que deben cumplirse:
      1. El elemento es mayor que el elemento de referencia (a [i]).
      2. El elemento es más pequeño que la comparación anterior (más pequeña).
    • Si se cumplen las dos condiciones, actualizo a los más pequeños y guardo el índice del elemento en el resultado.
  2. Devuelve los resultados

      Si hay elementos que cumplen, la función de devolver el índice.
    • Si no lo hay, los resultados siguen siendo -1.

Ejemplos de uso

console.log (MildLarger ([4, 1, 3, 5, 6], 0)); // Salida: 3
console.log(leastLarger([4, 1, 3, 5, 6], 0)); // Output: 3

Explicación:

    El elemento de referencia es 4 (en el índice 0).
  • Los elementos mayores de 4 son [5, 6].
  • De los elementos, el más pequeño es 5, y su posición está en el índice 3.

Solución avanzada: conciso en 1 línea

Para aquellos de ustedes que les gusta el enfoque de más "realmente JavaScript", podemos escribir esta solución en una línea de código utilizando el método predeterminado como Filter, Math.min y FindIndex:


const MENTLELARGER = (a, i) => A.FinDindex (x => x> a [i] && x === Math.min (... a.filter (y => y> a [i]));
console.log(leastLarger([4, 1, 3, 5, 6], 0)); // Output: 3
Este código hace lo mismo, pero en un estilo más funcional y conciso. Adecuado para situaciones en las que desea escribir una solución rápida sin demasiadas variables adicionales.


Estudio de caso en el mundo real

Las funciones como esta son realmente bastante relevantes en varias situaciones reales. Algunos ejemplos:

  1. Sistema de pedido de tickets

      En el sistema de boletos, a menudo necesitamos encontrar el precio más bajo de los asientos que son más altos que un precio determinado (por ejemplo, para llenar el siguiente asiento).
  2. programación de tareas

      Al crear un horario, podemos buscar el siguiente momento más cercano que sea mayor que cierto tiempo, por ejemplo, para asignar una reunión de tragamonedas o la siguiente tarea.
  3. Inventary Management

      en el almacén, si necesita encontrar una ubicación de almacenamiento con la capacidad más pequeña que aún es suficiente para almacenar ciertos artículos.

Este desafío parece simple, pero cuando lo intento, me doy cuenta de que la lógica ordenada es muy importante. Lo que me gusta de este desafío es cuán relevante se aplicará este concepto en el mundo real.

Oh sí, si los amigos tienen otras formas de completar este desafío, no dude en compartir la columna de comentarios, ¡sí! Quién sabe, podemos aprender unos de otros de diferentes enfoques. ¡Ojalá este intercambio sea útil y feliz codificación! ?

Declaración de liberación Este artículo se reproduce en: https://dev.to/rantidhanty/sharing-solusi-tantangan-codewars-read-larger-dari-rasar-hingga-1-baris-4daf?1 Si hay alguna infracción, comuníquese con [email protected] para eliminarlo.
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3