Artikelverzeichnis
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:
OK, OK!
1. Probleme
Schauen Sie nicht auf die Leute herab, bevor Sie Deduplizierung sehen? Das ist zu einfach.
Schauen Sie zu sehr auf mich herab, nachdem Sie die Deduplizierung gesehen haben? Wer kann das tun?
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,
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
ist wirklich gut, chatgpt ist wirklich nützlich, um das Schreiben von Code zu lernen!