- Meu nome é Yago, Sou engenheiro de software e atualmente moro no Brasil.
- Trabalho com software a mais de 6 anos, e possuo experiecia com diversas tecnologias.
- Java 17
- Maven
Esse é um projeto que foi criado para resolver um teste tecnico que continha o seguinte enunciado
Pedro é um estudante de ciências da computação e fez um programa financeiro para a empresa de seu tio, no entanto algumas transações financeiras estão sendo rejeitadas por falta de saldo na conta, isso traz transtornos para o tio de Pedro que não ficou muito feliz com ele.
Ajude o coitado do Pedro a descobrir a quantidade de dinheiro necessária antes de qualquer transação para que todas as transações sejam concluidas independente da ordem das transações. Sabendo que:
* Recebe uma matriz 2D onde "transacoes[i] = [custo[i], cashback[i]]".
* A matriz possui as transações onde cada transação deve ser concluida uma vez em qualquer ordem.
* Você tem "dinheiro" com uma certa quantia e para completar cada transação, "dinheiro >= custo[i]" deve ser verdadeiro".
* E após realizar cada transação "dinheiro" se torna "dinheiro - custo[i] + cashback[i]".
Dado isso, você precisa retornar a quantia minima de dinheiro necessária antes de qualquer transação para que todas as transaçães possam ser concluidas independente da ordem das transações.
Um exemplo pra facilitar:
Entrada: transacoes = [[2,1] , [5,0] , [4,2]];
Saida: 10
Explicação: Começa
ndo com dinheiro = 10, as transação podem ser efetuadas em qualquer ordem.
Mais um exemplo:
Entrada: transacoes = [[3,0] , [0,3]]
Saida: 3
Explicação:
Se as transação são na ordem [[3,0] , [0,3]], o minimo de dinheiro necessário para completa-las é 3 e na outra possivel ordem também.
A interpretação das questões são parte integrante da avaliação.
Boa sorte
Portanto, a API tem como principal responsabilidade demonstrar qual é o valor minimo para a realizacao da sequencia de transações
Para rodar o projeto, escreva o comando abaixo no diretorio raiz:
mvn spring-boot:run
Method: POST URL: http://localhost:8080/api/dinheirominimo Request Body:
{
"transacoes": "{3,0} , {0,3}"
}
Obs.: O caracteres necessitam ser numéricos inteiros, sendo o número da esquerda, valor de custo e o da direita, cashback.
Obrigado por testar minh API