Postagem em destaque

WSL: Backup e Restauração

Imagem
Às vezes você tem um drive mais rápido (SSD) que o outro (HD). É o meu caso: meu drive C, é um SSD de 256 GB e meu drive D, é um HD de 512 GB. Um é pequeno e rápido; outro é grande e lento.  Meu drive C, por ser pequeno, acabou ficando sem espaço. Então fui pesquisar por grandes arquivos (usei o excelente TreeSize Free para isso) e descobri um tal de ext4.vhdx que tinha 29 GB. Esse arquivo é a imagem do disco do WSL no Windows e é normal ficar grande. O problema é que mesmo você apagando arquivos ele não diminui. E quando você usa o Docker, a situação se agrava rapidamente. Então, descobri uma maneira de compactar esse arquivo/disco. É um comentário da KarolineWss numa issue do WSL. Funciona maravilhosamente bem. Tanto que consegui diminuir praticamente pela metade o arquivo.  Mas para fazer isso, claro, pesquisei como fazer backup (e restauração). Esse artigo é sobre isso. E com um bônus, esse o arquivo fica numa localização meio complicada para humanos, mas fazendo um backup e uma

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

Netflix não mostra ícone de streaming

Google Hacking

FTP não funciona no PHP