n Zahlen, ermitteln Sie die Anzahl der Kombinationen und den Inhalt jeder Kombination, einschließlich der Deduplizierung mit denselben Elementen (Kotlin).


Vorwort

Ich habe glücklich gearbeitet (Angeln), aber mein Kollege sagte: „Ist dir langweilig?“ Mir ist langweilig, lass mich etwas für dich finden.
Ich:
Fügen Sie hier eine Bildbeschreibung ein
OK, OK!


1. Probleme

Fügen Sie hier eine Bildbeschreibung ein
Schauen Sie nicht auf die Leute herab, bevor Sie Deduplizierung sehen? Das ist zu einfach.
Fügen Sie hier eine Bildbeschreibung ein

Schauen Sie zu sehr auf mich herab, nachdem Sie die Deduplizierung gesehen haben? Wer kann das tun?
Fügen Sie hier eine Bildbeschreibung ein

Zweitens: Lösen Sie das Problem

1. Vor der Deduplizierung

Schreiben Sie zuerst die nicht wiederholten auf

fun generateCombinations(numbers: List<Int>): List<List<Int>> {
    
    
  val combinations = mutableListOf<List<Int>>()
  for (i in 0 until numbers.size) {
    
    
   val combination = mutableListOf<Int>()
   combination.add(numbers[i])
   combinations.add(combination)
   for (j in i + 1 until numbers.size) {
    
    
    combination.add(numbers[j])
    combinations.add(combination.toList())
   }
  }
  return combinations
 }

Double for-Schleife durchläuft alle Möglichkeiten, nichts zu sagen

2. Nach der Deduplizierung

Ich kann es nicht (Hundekopf), also was soll ich tun, ich bin kein schlechter Schausteller! Dann kam das Problem erneut, was soll ich also tun? ! chatgpt! ! !

fun generateCombinations(numbers: List<Int>): List<List<Int>> {
    
    
  val combinations = mutableListOf<List<Int>>()
  for (i in 0 until numbers.size) {
    
    
   val combination = mutableListOf<Int>()
   combination.add(numbers[i])
   combinations.add(combination)
   for (j in i + 1 until numbers.size) {
    
    
    combination.add(numbers[j])
    combinations.add(combination.toList())
   }
  }
  return combinations.distinct()
 }

Das ist richtig, Sie haben richtig gelesen, es gibt nur noch eine eindeutige Funktion, Chatgpt ist einfach mein Gott, werfen wir einen Blick auf den Quellcode,
Fügen Sie hier eine Bildbeschreibung ein
Mama muss sich keine Sorgen mehr um mein Studium machen!


Zusammenfassen

Kommen Sie schließlich zu einer Liste von 1 bis 256 zum Testen

 fun SummationAnddeDuplication() {
    
    
  val long = System.currentTimeMillis()
  val numbers = mutableListOf<Int>()
  for (i in 1..256){
    
    
   numbers.add(i)
  }
  val combinations = generateCombinations(numbers)
  println("Combinations:")
  combinations.forEach {
    
     println(it) }
  val long1 = System.currentTimeMillis()-long
  println("Number of combinations: ${
      
      combinations.size}" +"   time :  ${
      
      long1/1000}s" )

 }

 fun generateCombinations(numbers: List<Int>): List<List<Int>> {
    
    
  val combinations = mutableListOf<List<Int>>()
  for (i in 0 until numbers.size) {
    
    
   val combination = mutableListOf<Int>()
   combination.add(numbers[i])
   combinations.add(combination)
   for (j in i + 1 until numbers.size) {
    
    
    combination.add(numbers[j])
    combinations.add(combination.toList())
   }
  }
  return combinations.distinct()
 }

Die Ausgabe
Fügen Sie hier eine Bildbeschreibung ein
ist wirklich gut, chatgpt ist wirklich nützlich, um das Schreiben von Code zu lernen!
Fügen Sie hier eine Bildbeschreibung ein

Acho que você gosta

Origin blog.csdn.net/shop_and_sleep/article/details/129277942
Recomendado
Clasificación