Postagem em destaque

Huguinho e Zezinho surfando com granizo

Imagem
Certa vez, em outubro de 2023, Huguinho e seu amigo Zezinho foram surfar no final da tarde. O vento estava forte e a chuva, constante. Quando chegaram perto da praia, mal conseguiam segurar suas pranchas. O mar estava bem mexido, e ainda tiveram que andar cerca de 1 km até o pico. Quando estavam se aproximando, começou a cair granizo! Dava para ouvir claramente o barulho das pedras contra as pranchas. Eles se abrigaram embaixo do posto avançado dos salva-vidas, mas não adiantou muito. Ficaram olhando o mar — que estava bem agitado e quebrando bem longe — e perceberam que estava difícil passar a arrebentação. Como o granizo não parava, decidiram entrar assim mesmo. Logo que entraram no mar, o granizo cessou, mas aí começou o verdadeiro desafio: passar a arrebentação. Depois de levar várias séries na cabeça e quase sem forças, finalmente conseguiram. E começaram os raios! Quando estavam quase decidindo sair por causa deles, os raios pararam. Ufa! É algo estranho: você está lá, só você (c...

Arrays: elementos repetidos e número de ocorrências (em Java)

Resolvi fazer, em Java, o mesmo algoritmo mostrado em Arrays: elementos repetidos e número de ocorrências. Assim é possível comparar os dois códigos e talvez ajude a escolher uma linguagem de programação ou pelo menos mostrar as principais diferenças entre elas.

Entre as duas (C++ e Java) acho que a versão feita em Java ficou mais clara.


package teste;

import java.util.ArrayList;

public class Run {
  public static void main(String[] args) {
    ArrayTeste at = new ArrayTeste();
    at.start();
  }
}

// classe que contem o valor do número e a quantidade de ocorrências
class Number {
  int value;
  int count;

  public  Number(int x, int y){
    value = x;
    count = y;
  }
}

// classe principal
class ArrayTeste{
  void start(){
    // array de entrada
    int a[] = {5, 3, 5, 1, 1, 1, 2, 1};

    int i, j;
    boolean found;

    ArrayList<number> lista = new ArrayList<number>();

    // percorre o array de entrada
    for(i=0; i<a.length; i++){
      // seta como não encontrado
      found = false;

      // procura na lista de números o elemento "i" do array de entrada
      for(j=0; j<lista.size(); j++){
        // encontrou, incrementa e sai fora
        if (a[i] == lista.get(j).value){
          lista.get(j).count++;
          found = true;
          break;
        }
      }
      
      // não encontrou o número, armazena
      if (!found) 
        lista.add(new Number(a[i], 1));      
    }

    System.out.println("[Número, Repetições]");
    for (Number n:lista)
      System.out.println("[" + n.value + ", " + n.count + "]");    
  }
}

Comentários

  1. tenho uma duvida tenho uma combinação de 10 dezenas que é uma matriz 6 colunas e 210 linhas, a qtde de ocorrência de cada dezena é como assim a 1 se repete 126, 2 se repete 126 e assim por diante ate 10, fazendo um fechamento para quadra da 20 cartões, aqui mora o problema como ter a mesma ocorrência dezenas dentro dos 20 cartões pode me da uma luz.
    abraço.
    joelsonc3@gmail.com

    ResponderExcluir

Postar um comentário

Postagens mais visitadas deste blog

Google Hacking

Netflix não mostra ícone de streaming

Radar no KM 175 da BR101