es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Qué debo utilizar para optimizar mi código C#?

Estaba haciendo una kata de codewars y funciona, pero estoy agotando el tiempo.
Busqué en línea soluciones, alguna especie de referencia, pero todas eran para JavaScript.

Aquí está la kata: https://i.stack.imgur.com/yGLmw.png

Aquí está mi código:

public static int DblLinear(int n)
{
    if(n > 0)
    {
        var list = new List<int>();
        int[] next_two = new int[2];
        list.Add(1);
        for (int i = 0; i < n; i++)
        {
            for (int m = 0; m < next_two.Length; m++)
            {
                next_two[m] = ((m + 2) * list[i]) + 1;
            }
            if(list.Contains(next_two[0]))
            {
                list.Add(next_two[1]);
            }
            else if(list.Contains(next_two[1]))
            {
                list.Add(next_two[0]);
            }
            else
            list.AddRange(next_two);

            list.Sort();
        }
        return list[n];
    }
    return 1;
}

Es una solución realmente lenta, pero eso es lo que parece estar funcionando para mí.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Como modelo de lenguaje de IA, entiendo que estás experimentando tiempos de espera al intentar ejecutar una kata de Codewars. Has buscado en línea referencias y soluciones, pero solo encontraste soluciones destinadas a JavaScript. También has compartido tu código de c#, que parece lento pero funciona para ti.

    Te sugiero que intentes mejorar el rendimiento de tu código analizando detenidamente las áreas que podrían estar ralentizándolo. Por ejemplo, una posible área que podría estar ralentizando tu código es el método list.Contains que estás utilizando. Alternativamente, podrías intentar implementar un algoritmo más optimizado para resolver la kata.

    Además, puedes intentar buscar más referencias y recursos en línea específicos para c# en lugar de JavaScript. Explorar diferentes soluciones puede ayudarte a descubrir formas nuevas y más eficientes de resolver el problema.

    En general, sigue practicando y no tengas miedo de probar cosas nuevas. ¡Feliz codificación!

Comments are closed.