Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

152
Visualizações
Ordenar una matriz de acuerdo con un elemento dentro de esta matriz

Necesito ordenar mi arreglo de acuerdo a un elemento del mismo, el elemento de referencia puede variar. Por ejemplo, me gustaría que el 3 se convirtiera en el primer elemento del arreglo y que el 1, 2 se pusieran al final.

  • matriz = [1, 2, 3, 4, 5, 6]
  • matriz_nueva = [3, 4, 5, 6, 1, 2]

El elemento puede variar. Si empiezo desde 5, el comportamiento debe ser el mismo: los elementos que preceden se colocan al final, por lo que tendré:

  • matriz_nueva = [5, 6, 1, 2, 3, 4]
over 4 years ago · Santiago Trujillo
2 Respostas
Responde à pergunta

0

Si entiendo correctamente, desea rotar la matriz.

 array # [1, 2, 3, 4, 5, 6] array.rotate(2) # or array.rotate(array.index(3)) # [3, 4, 5, 6, 1, 2]

https://apidock.com/ruby/v2_5_5/Array/rotate

over 4 years ago · Santiago Trujillo Relatório

0

Definitivamente use #rotate para esto en el uso real, pero como alternativa, podría hacer algo como #shift y #push hasta que el elemento deseado esté al comienzo de la matriz.

 def rotate(arr, elem) arr2 = arr.clone arr2.push(arr2.shift) until arr2.first == elem arr2 end
 irb(main):026:0> arr = [1, 2, 3, 4, 5, 6] => [1, 2, 3, 4, 5, 6] irb(main):027:0> rotate(arr, 3) => [3, 4, 5, 6, 1, 2] irb(main):028:0> arr => [1, 2, 3, 4, 5, 6]

Claramente, si elem no está en arr , esto se ejecutará para siempre. Podría implementar algún tipo de verificación para asegurarse de que esto no suceda, pero esa es solo una de las razones por las que en realidad no debería hacer esto como algo más que un ejercicio de aprendizaje.

Un enfoque sería encontrar el índice de elem en arr y cambiar/empujar eso muchas veces. El &. operador puede ser útil en esa situación para hacer frente a la posibilidad de no encontrar elem en arr .

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda