Бодолт илгээх | Бүх бодолтууд | Шилдэг бодолтууд | Жагсаалт руу буцах |
RGB7779 - Оруулах эрэмбэлэлт нарийвчилсан шинжилгээ |
Insertion sort бол массивыг эрэмбэлэх энгийн аргуудын нэг гэдгийг бид мэднэ.
Тэгвэл массивыг эрэмбэлэхэд элементийн байрыг солих үйлдэл нийт хэдэн удаа хийгдэхийг тооцоолно уу?
Массивын i-дугаар элементийн байрыг солих үйлдэл хэдэн удаа хийгдэх тоог k[i] гэвэл нийт элементийн
байрыг солих үйлдлийн тоо k[1] + k[2] + k[3] + … + k[n] байна.
Тухайлбал
arr=[4, 3, 2, 1] массивыг авч үзье.
[4,3,2,1]
[3,4,2,1] 1 удаа
[2,3,4,1] 2 удаа
[1,2,3,4] 3 удаа
Нийт шилжилт (байр сэлгэлт) = 1 + 2 + 3 = 6
Оролтын хэлбэр:
Эхний мөрөнд нийт асуулгын тоо болох t тоо өгөгдөнө. Асуулга бүрийн бүтэц дараах хэлбэртэй байна.
Хязгаарлалт:
Гаралтын хэлбэр:
t ширхэг мөрөнд тухайн асуулга бүрийн хариуг хэвлэнэ.
Жишээ оролт 0
2
5
1 1 1 2 2
5
2 1 3 1 2
Жишээ гаралт 0
0
4
Тайлбар
Эхний асуулга бол эрэмбэлэгдсэн массив учраас элементийн байр солих үйлдэл хийгдэхгүй.
Хоёр дахь асуулгын хувьд дараах байдлаар шилжилт буюу байр сэлгэх үйлдэл хийгдэх тоо нь:
Массив: 2 1 3 1 2 -> 1 2 3 1 2 -> 1 1 2 3 2 -> 1 1 2 2 3
Шилжилт: -1 -2 -1 = 4
Орчуулсан : Хөвсгөл аймгийн Ирээдүй сургуулийн багш Д.Батмөнх
Нэмсэн: | Bataa |
Огноо: | 2020-04-05 |
Хугацааны хязгаарлалт: | 1s |
Эх кодын хэмжээний хязгаарлалт: | 50000B |
Memory limit: | 1536MB |
Cluster: | Cube (Intel G860) |
Програмчлалын хэлүүд: | ADA95 ASM32 ASM64 BASH BF C NCSHARP CSHARP C++ 4.3.2 CPP C99 CLPS LISP sbcl LISP clisp D ERL FORTRAN HASK ICON ICK JAVA JS-RHINO JULIA LUA NEM NICE OCAML PAS-GPC PAS-FPC PERL PHP PIKE PRLG-swi PYTHON PYPY3 PYTHON3 RUBY SCALA SCM guile ST TCL WHITESPACE |
Эх сурвалж: | https://www.hackerrank.com/challenges/insertion-sort/problem |