Задача 2 Урок 21
Primary tabs
Есть массив (пусть не более 10 элементов):
[0, 3, 2, 1, 0, 3, 2, 4, 0, -5]Задача: перенести все нули в конец, так чтобы в итоге получилось:
[3, 2, 1, 3, 2, 4, -5, 0, 0, 0]Решите:
- Любым способом
- Решите со сложностью не более чем
2N
Примечание: давалась как простая разминочная задачка для собеседования в Яндекс.
var i, x: integer; const a: array [1..10] of integer = (0, 3, 2, 1, 0, 3, 2, 4, 0, -5); begin for i := 1 to 10 do write(a[i], ' '); writeln(); for i := 1 to 10 do if a[i] = 0 then x += 1 else begin if x > 0 then begin a[i - x] := a[i]; a[i] := 0; end; end; for i := 1 to 10 do write(a[i], ' '); writeln(); readln(); end.
- Log in to post comments
- 338 reads