Cómo encontrar el número mínimo de intercambios necesarios para ordenar una matriz de números en orden descendente en javascript

4
Femi Lawal 2019-04-07 14:04.

Estoy tratando de obtener mi código para hacer esto:

Matriz original = [1,2,3,4] intercambiar una vez-> [4,2,3,1] intercambiar de nuevo -> [4,3,2,1]

Por lo tanto, el resultado es 2

Pero no funciona. Esto es lo que tengo hasta ahora:

   

 function check(arr){
	var sarr = [];
	var cnt = 0;
	var arrL = arr.length;
   // Create a second copy of the array for reference
	var arrCopy = [...arr];
	for(let i=0; i<arrL;i++){
		var maxV = Math.max(...arr);
		sarr.push(maxV);
		let pos = arr.indexOf(maxV);
		// Remove the found number
		arr.splice(pos,1);
		// Check if the index of the number in the new array is same with the copy, if not then there was a swap
		let ai =arrCopy.indexOf(maxV); 
		let si =sarr.indexOf(maxV);
		if (ai !== si && (i+1)!=arrL && pos !== 0){
		cnt++;
        };
	}

	console.log(cnt);
}

check([1, 2, 3, 4, 5, 6]);//Result should be 3
check([6,5,4,3,2,1]); //result should be 0

check([1,2,3,4]); //result should be 2

check([1,3,2,5,4,6]); //result should be 3

check([1,2,10,4,5,6,7,8,9,3,12,11]);//result should be 6

check([ 49, 37, 9, 19, 27, 3, 25, 11, 53,  42, 57, 50, 55,  56, 38, 48, 6, 33, 28, 8, 20, 31, 51, 14, 23, 4, 58, 52, 36, 22, 41, 47, 39, 2, 7, 13, 45, 1, 44, 32, 10, 15, 21, 30, 17,  60, 29, 5, 59, 12, 40, 24, 54, 46, 26, 43, 35, 34, 18, 16]);//result should be 54

¿Puede alguien decirme qué estoy haciendo mal?

1 answers

7
Nina Scholz 2019-04-07 22:12.

Comenzaría con una copia de la matriz en orden descendente para obtener el índice correcto de los elementos.

Por razones prácticas, (o simplemente una concepción más corta del ciclo que incluye verificación y disminución), hago un ciclo desde el final de la matriz.

Luego verifico el valor de arrayy reverseden el índice dame y continúo con la iteración.

Si no es el mismo valor, los elementos en la posición deseada iy la posición real pse intercambian y se incrementa el recuento.

Al final se devuelve el recuento.

function check(array) {
  var reversed = array.slice().sort((a, b) => b - a),
      count = 0,
      i = array.length,
      p;

  while (i--) {
      if (array[i] === reversed[i]) continue;
      p = array.indexOf(reversed[i]);
      [array[i], array[p]] = [array[p], array[i]];
      count++;
  }
  console.log(...array);
  return count;
}

console.log(check([1, 2, 3, 4, 5, 6])); // 3
console.log(check([6, 5, 4, 3, 2, 1])); // 0
console.log(check([1, 2, 3, 4])); // 2
console.log(check([1, 3, 2, 5, 4, 6])); // 3
console.log(check([1, 2, 10, 4, 5, 6, 7, 8, 9, 3, 12, 11])); // 6
console.log(check([ 49, 37, 9, 19, 27, 3, 25, 11, 53,  42, 57, 50, 55,  56, 38, 48, 6, 33, 28, 8, 20, 31, 51, 14, 23, 4, 58, 52, 36, 22, 41, 47, 39, 2, 7, 13, 45, 1, 44, 32, 10, 15, 21, 30, 17,  60, 29, 5, 59, 12, 40, 24, 54, 46, 26, 43, 35, 34, 18, 16])); // 54
.as-console-wrapper { max-height: 100% !important; top: 0; }

Related questions

MORE COOL STUFF

Cate Blanchett se acostó con su esposo después de 3 días juntos y sigue casada con él 25 años después

Cate Blanchett se acostó con su esposo después de 3 días juntos y sigue casada con él 25 años después

Cate Blanchett desafió los consejos típicos sobre citas cuando conoció a su esposo.

Por qué Michael Sheen es un actor sin fines de lucro

Por qué Michael Sheen es un actor sin fines de lucro

Michael Sheen es un actor sin fines de lucro, pero ¿qué significa eso exactamente?

¡La estrella de Hallmark, Colin Egglesfield, habla sobre emocionantes encuentros con fans en RomaDrama Live! [Exclusivo]

¡La estrella de Hallmark, Colin Egglesfield, habla sobre emocionantes encuentros con fans en RomaDrama Live! [Exclusivo]

¡La estrella de Hallmark, Colin Egglesfield, habló sobre los emocionantes encuentros con los fanáticos en RomaDrama Live! además de su programa INSPIRE en la convención.

Por qué no puedes transmitir 'Northern Exposure' en línea

Por qué no puedes transmitir 'Northern Exposure' en línea

Tendrás que desempolvar un reproductor de Blu-ray o DVD para ver por qué Northern Exposure se convirtió en uno de los programas más populares de los 90.

Dona tu cabello para ayudar a mantener limpia nuestra agua

Dona tu cabello para ayudar a mantener limpia nuestra agua

Los recortes de cabello de los salones y las donaciones personales se pueden reutilizar como tapetes que absorben los derrames de petróleo y ayudan a proteger el medio ambiente.

Una mirada a las bodas más memorables de la Casa Blanca

Una mirada a las bodas más memorables de la Casa Blanca

Solo unas pocas personas se han casado en la Casa Blanca en los últimos más de 200 años. ¿Quiénes eran y qué se requiere para marcar una boda allí?

¿Cuál es la toronja más dulce: blanca, roja o rosada?

¿Cuál es la toronja más dulce: blanca, roja o rosada?

¿Tu boca se emociona al pensar en comer una toronja jugosa? Bueno, frunce el ceño, porque la toronja está repleta de vitaminas y antioxidantes que tu cuerpo necesita.

¿Cuál es la diferencia entre levaduras secas instantáneas y activas?

¿Cuál es la diferencia entre levaduras secas instantáneas y activas?

La levadura es el componente mágico de la cocción que hace que la masa suba. Pero hay muchos tipos por ahí. ¿Cuál es el adecuado para tu receta?

Fitbit finalmente actualizó sus mejores rastreadores

Fitbit finalmente actualizó sus mejores rastreadores

Todas las imágenes: Fitbit El Fitbit Charge HR es un rastreador de actividad muy bueno. Se podría argumentar, y ciertamente lo hemos hecho, que es el mejor rastreador de actividad física disponible.

Bueno, las comparaciones de Mike Tyson no estaban del todo mal

Bueno, las comparaciones de Mike Tyson no estaban del todo mal

Sí, eso parece morder. Después de ser nombrado Prospecto del Año 2020 por varias publicaciones, incluidas Sports Illustrated y The Athletic, Edgar Berlanga, de 25 años, fue aclamado como el puertorriqueño Mike Tyson.

Cómo luchar contra Fox News con mercados publicitarios en línea laberínticos

Cómo luchar contra Fox News con mercados publicitarios en línea laberínticos

Digamos que usted es una persona razonable que está razonablemente enojada con el manejo de las noticias por parte de Fox News. Tal vez sea la forma en que sus anfitriones arrojaron mentiras peligrosas en el punto álgido de la pandemia de COVID-19, o la forma en que continúan contando descaradamente la historia de la insurrección del 6 de enero.

Minecraft se ve maravillosamente relajante en estrategia Spin-Off que viene el próximo año

Minecraft se ve maravillosamente relajante en estrategia Spin-Off que viene el próximo año

Minecraft obtendrá otro spin-off en 2023. El éxito de ventas continuo de Mojang ahora se está ramificando en el género de estrategia con Minecraft Legends, que se ve brillante y sereno incluso cuando estás derribando los muros del castillo enemigo.

Zendaya Wishes Boyfriend Tom Holland Happy Birthday with Cuddly Photo: He 'Makes Me the Happiest'

Zendaya Wishes Boyfriend Tom Holland Happy Birthday with Cuddly Photo: He 'Makes Me the Happiest'

Zendaya shared a sweet photo in honor of boyfriend Tom Holland's 26th birthday Wednesday

Emma Stone pone a la venta su casa en la playa de Cliffside Malibu por $ 4.2 millones: ¡vea el interior!

Emma Stone pone a la venta su casa en la playa de Cliffside Malibu por $ 4.2 millones: ¡vea el interior!

La casa de mediados de siglo del ganador del Oscar cuenta con tres dormitorios, dos baños y vistas al mar

Jeannie Mai Jenkins dice que "se deprimió mucho, mucho" durante su experiencia de amamantar

Jeannie Mai Jenkins dice que "se deprimió mucho, mucho" durante su experiencia de amamantar

"Te sientes tan derrotada cuando tu bebé tiene hambre que no estás produciendo lo suficiente para el bebé", dijo Jeannie Mai Jenkins sobre amamantar a su hija de 4 meses, Monaco.

La esposa de Bobby Brown, Alicia, no se enfoca en su pasado: "Bobby y Whitney fueron su momento, soy el Yin de su Yang"

La esposa de Bobby Brown, Alicia, no se enfoca en su pasado: "Bobby y Whitney fueron su momento, soy el Yin de su Yang"

La pareja de casi 10 años comparte su historia de amor antes de la nueva serie de realidad de A&E Bobby Brown: Every Little Step, que se estrenará el 31 de mayo.

Notas de inversión: Bioscout AU $ 3m Seed

Notas de inversión: Bioscout AU $ 3m Seed

Bioscout tiene la misión de poner a los agricultores en el asiento del conductor y estamos entusiasmados de respaldar al equipo en su última ronda de semillas junto con Artesian (GrainInnovate) y Uniseed. El problema La pérdida significativa de cosechas por enfermedades fúngicas ha resultado ser un calvario para los agricultores.

Pequeña investigación de mercado 1 | Quick Glimpse Telehealth Market en 2022

Pequeña investigación de mercado 1 | Quick Glimpse Telehealth Market en 2022

La telesalud no es nueva ni siquiera una vertical obsoleta en la era posterior a la pandemia. Pero cuando miramos más de cerca la industria, muestra una fuerte sostenibilidad en la demanda y la oferta y una fuerte curva de crecimiento potencial que sería una revolución constante en los EE. UU.

Clima de financiación de empresas emergentes: ¿Qué sigue para el ecosistema de empresas emergentes de Tailandia?

Clima de financiación de empresas emergentes: ¿Qué sigue para el ecosistema de empresas emergentes de Tailandia?

El año 2021 fue un año récord para la financiación de capital de riesgo (VC) a nivel mundial. El sudeste asiático no fue la excepción, ya que la región acuñó un récord de 25 nuevos unicornios en el año, según DealStreetAsia.

Más allá de la Ley de Moore

Más allá de la Ley de Moore

Existe una brecha que crece exponencialmente entre nuestro apetito por la computación y lo que puede ofrecer la Ley de Moore. Nuestra civilización se basa en la computación: debemos encontrar tecnologías que trasciendan las limitaciones actuales de la arquitectura y la imaginación.

Language