Ir al contenido principal

Reto de Programación para Hackathon


Este problema lo resolví para un joven mexicano que necesitaba ayuda. El problema es interesante y espero ustedes puedan compartir su propia solución, compartí el problema en los grupos de facebook, pero al parecer no les gustan los retos, más que resolver lo más evidente XD.

Reto de Programación:
El primer objetivo del reto es resolver el problema, siéntete libre de usar google así cómo librerías estándar(ej. collection classes, Lists, etc). Una vez que tengas la solución, reflexiona e intenta hacerla lo más eficiente posible (imagina que esta clase será usada con millones o billones de elementos).

El Problema
Escribe una clase para almacenar elementos (pueden ser enteros, o lo que sea), puedes asumir que la clase se utilizará correctamente, no tienes que preocuparte acerca de manejo de errores, hay tres operaciones que debes de escribir:

insert(element)
El método insert toma un elemento, y lo inserta en la colección. Insert devuelve (retorna) un identificador para ese elemento insertado, qué puede ser usado para remover un elemento en particular dentro de la colección, el tipo de dato puede ser un número, dirección en memoria, string, lo que tú quieras. 

Nota 1: valores duplicados deben ser insertados. 
Nota 2: El identificador no deberá ser invalidado por operaciones subsecuentes(sólo cuando sea removido).

remove(idenficador)
El método remove toma un identificador (retornado por un insert previo) y remueve el elemento de la colección. Este método deberá retornar el valor de elemento removido.

removeLargest()
Este método encuentra el elemento con mayor valor dentro de la colección. Una vez encontrado lo remueve de la colección, y retorna su valor.

Si dos elementos tienen el mismo valor, uno de los dos deberá ser removido.
Ejemplo de uso
Collection col = new Collection();
Identifier a = col.insert(40);  // Identifier es lo qué tu
quieras int, string, etc
Identifier b = col.insert(25);
Identifier c = col.insert(30); 
col.remove(C); // retorna 30
col.removeLargest(); // retorna 40
col.insert(50); // retorna un identificador
col.removeLargest(); // retorna 50
col.removeLargest(); // retorna 25

Después de resolver el problema:

Redacta en un documento lo siguiente:

  • Describe el desempeño esperado del programa, así cómo el por qué de tu solución.


  • Qué tan cerca crees que estuviste de la solución ideal?


Si tuvieras una semana para trabajar en el el, que mejorarías de tu código?

  • Envía tu código en Java procura que sea lo más limpio y claro posible. Intenta

resolverlo dentro de una media hora o una hora, no tiene que estar perfecto para que lo
envies. ¡SUERTE!.



Comentarios

Entradas más populares de este blog

Conexion JDBC - JAVA a travès de un archivo Properties

Para conectar a bases de datos con el archivo properties necesitas definir la siguiente estructura:

Rutas de los Archivos Properties, es esas rutas tienes que haber creado tus archivos properties:

package com.develtrex.util;
import java.net.URL;
/**
 *
 * @author 007M
 */
public class Ruta {
    private final String dbOracle="/com/develtrex/propiedad/dboracle.properties";
    private final String dbMysql="/com/develtrex/propiedad/dbmysql.properties";
    private final String dbPostgres="/com/develtrex/propiedad/dbpostgres.properties";
    private final String dbSqlServer="/com/develtrex/propiedad/dbsqlserver.properties";

    public URL getFileDbOracle(){
        return getClass().getResource(dbOracle);
    }

    public URL getFileDbMysql(){
        return getClass().getResource(dbMysql);
    }

    public URL getFileDbPostgres(){
        return getClass().getResource(dbPostgres);
    }

    public URL getFileDbSqlServer(){
        return getClass…

El acta de constitución para proyectos de desarrollo software Ágil o Clásico

Cualquier proyecto de software debe tener un documento que permita formalizar el inicio de un proyecto.
Aquí proporciono un ejemplo.
Debes saber que el acta es un documento incremental que algunas secciones se van actualizando cuando se van realizando las actividades que permiten completarlas.

Información general
Enunciado del proyecto: DOCUMENTO ET. ID del proyecto: SCMF Sponsor: JNE Representante del sponsor:


Interesados del proyectoCargo Nombre/Organización Teléfono E-mail Representante del Sponsor


Program Manager

Project Manager


Empresa Asociada JURADO NACIONAL DE ELECCIONES


Usuario ò Cliente FISCALIZADORES










Instalando Oracle SQL Developer 4.x en CentOS 7

Saludos. Soy @jofrantoba. En este post de enseñare a instalar Oracle SQL Developer 4.x en CentOS 7.Paso 1: Ir a la pagina de Oracle, especificamente al producto Oracle SQL Developer 4.xhttp://www.oracle.com/technetwork/developer-tools/sql-developer/overview/index-097090.htmlPaso 2: Dar click en "Download" y en la página seleccionar el paquete RPM que se muestra a continuación:Paso 3: Al hacer click en "Download" le saldra una ventana emergente como la imagen siguiente:Paso 4: Instalando el paquete RPM de Oracle SQL DeveloperPaso 5: Verificando Instalación, haciendo click en el menú aplicaciones,programación y luego en el icono de Oracle SQL Developer.Lo siguiente ya es historia, tu mismo lo descubrirás.Bueno esto sería todo.Si tienes algún tema que sugerir dejalo en los comentarios. Hasta pronto!!!Atte @jofrantoba