[Arquivo!] Pura matemática, física, química, etc.: problemas de treinamento do cérebro não relacionados ao comércio de qualquer forma - página 584
Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
Em um passe:
Criar uma cópia vazia de uma matriz do mesmo tamanho, inicializá-la com dois exemplares.
Vá desde o início da matriz. Encontro 1 - escrever para a cópia desde o início, encontro 3 - escrever para a cópia desde o final.
Além disso, você tem que monitorar três indicadores ao mesmo tempo!
Eu lhe darei uma pequena tarefa.
É claro que é um hack, mas em entrevistas de trabalho funciona como uma apoteose do conhecimento de ordenação de matriz ))
Portanto, a tarefa de classificação
Há um conjunto de células N, nas quais as um, dois e três são colocadas em ordem aleatória.
Construir o melhor algoritmo de triagem.
Conte com um passe, preencha a matriz no segundo passe.
Em um passe:
Criar uma cópia vazia de uma matriz do mesmo tamanho, inicializá-la com dois exemplares.
Vá desde o início da matriz. Se for encontrado 1, escreva para a cópia desde o início; se for encontrado 3, escreva para a cópia desde o final.
Sem cópia (ou você dirá que o preenchimento da cópia é um passe separado).
n=0, m=0
Comece no início da matriz. Se encontrarmos 1 - mudá-lo com n-ésimo elemento desde o início, não igual a 1 (por construção será sempre 2), n+++; se encontrarmos 3 - mudá-lo com m-ésimo elemento desde o final, não igual a 3, m+++, e se encontrarmos 1, seguimos os passos da primeira parte.
Sem cópia (ou você dirá que o preenchimento da cópia é um passe separado)
n=0, m=0
Nós vamos desde o início da matriz. Se encontrarmos 1, o trocamos com n-ésimo elemento desde o início não igual a 1 (por construção será sempre 2), n+++; se encontrarmos 3, o trocamos com m-ésimo elemento desde o final não igual a 3, m+++, e se encontrarmos 1, procedemos como descrito na primeira parte.
Sem cópia (ou você dirá que o preenchimento da cópia é um passe separado)
n=0, m=0
Nós vamos desde o início da matriz. Se encontrarmos 1, o trocamos com n-ésimo elemento desde o início não igual a 1 (por construção será sempre 2), n+++; se encontrarmos 3, o trocamos com m-ésimo elemento desde o final não igual a 3, m+++, e se encontrarmos 1, procedemos como descrito na primeira parte.
Esse é um ótimo caminho a seguir.
A redução do número de passes nem sempre dá um aumento de velocidade.
A+B=...
Sem cópia (ou você dirá que o preenchimento da cópia é um passe separado)
n=0, m=0
Nós vamos desde o início da matriz. Se encontrarmos 1, o trocamos com n-ésimo elemento desde o início não igual a 1 (por construção será sempre 2), n+++; se encontrarmos 3, o trocamos com m-ésimo elemento desde o final não igual a 3, m+++, e se encontrarmos 1, procedemos como descrito na primeira parte.
Boa idéia.