Slice erzeugen, das Element enthält
-
29-09-2020 - |
Frage
Angenommen, ich habe das Array:
generasacodicetagpre.jetzt basiert auf wenigen Parametern:
- .
-
current_item
- derzeit ausgewählte Artikel. -
select_size
- Auswahlgröße, immer ungerade. - current_item sollte in der Mitte des Unterlisten sein, wenn dies möglich ist.
- Falls nicht genügend Elemente links / rechts in der Liste vorhanden sind, verwenden Sie die von rechts / links.
Ich möchte einen Unterladen der Liste, die den Bedingungen folgt:
- .
Beispiele:
generasacodicetagpre.Lösung
Lassen Sie den Index des zentralen Elements $ C $ sein, und die Länge der Liste ist $ 2R + 1 $ . Wir gehen davon aus, dass die Indizes der Liste
Es gibt vier Fälle zu berücksichtigen:
- Wenn $ n> 2r + 1 $ , dann sind die Ergebnisse nicht definiert (pro Post).
- wenn $ 0 \ LEQ CR $ und $ C + R \ LEQ N-1 $ , dann Sie nehmen nur Elemente $ CR, \ LDOTs, C + R $ .
- Wenn $ CR <0 $ , dann nehmen Sie Elemente $ 0, \ LDOs, 2R $ .
- Wenn $ C + R \ GEQ N $ , dann nehmen Sie Elemente $ N-2R-1, \ LDOs , n-1 $ .
In den letzten beiden Fällen sind wir garantiert, da $ n> 2r + 1 $ 5r + 1 $ .
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit cs.stackexchange