Middle
Максимал аралык маселесин чечүүдө акыркы бирдиктин ордун сактоо ыкмасын сүрөттөп бериңиз
sobes.tech AI
AIден жооп
Максималдуу аралыкка жетүү үчүн акыркы бирдиктин ордун сактоо ыкмасы (мисалы, массивдеги бирдиктердин ортосундагы максималдуу аралык) төмөндөгүчө:
- Массив аркылуу өтүп, акыркы кездешкен бирдиктин көрсөткүчүн көзөмөлдөйбүз.
- Жаңы бирдик менен кездешкенде, ал бирдиктин сакталган акыркы ордуна чейинки аралыкты эсептейбиз.
- Эгер азыркы аралык эң чоң болсо, аны жаңыртабыз.
- Акыркы бирдиктин ордун азыркы көрсөткүчкө жаңыртабыз.
Бул ыкма бир өтүүдө бирдиктердин ортосундагы эң чоң аралыкты табууга мүмкүндүк берет, бардык ордун сактоого муктаждык жок.
Go тилиндеги мисал:
func maxDistance(arr []int) int {
lastPos := -1
maxDist := 0
for i, val := range arr {
if val == 1 {
if lastPos != -1 {
dist := i - lastPos
if dist > maxDist {
maxDist = dist
}
}
lastPos = i
}
}
return maxDist
}