Блог пользователя Siuuuuu67

Автор Siuuuuu67, история, 5 часов назад, По-английски

Дан список целых чисел. Требуется “сжать” его, переместив все ненулевые элементы в левую часть списка, не меняя их порядок, а все нули — в правую часть. Порядок ненулевых элементов изменять нельзя, дополнительный список использовать нельзя, задачу нужно выполнить за один проход по списку. Распечатайте полученный список.

Входные данные Вводится список чисел. Все числа списка находятся на одной строке.

Выходные данные Выведите ответ на задачу.

Примеры Входные данные 4 0 5 0 3 0 0 5 Выходные данные 4 5 3 5 0 0 0 0

Помогите пожалуйста, я пытался через питон но мне не хватало времени.

  • Проголосовать: нравится
  • 0
  • Проголосовать: не нравится

»
4 часа назад, скрыть # |
Rev. 3  
Проголосовать: нравится 0 Проголосовать: не нравится

Привет, держи

#include<bits/stdc++.h>
using namespace std;
int main(){

  int n, k = -1;
  cin >> n;
  vector < int > a(n);
  for(int i = 0; i < n; i++){
    cin >> a[i];
    if(a[i] == 0 && k == -1) k = i;
    if(a[i] != 0 && k != -1) a[k] = a[i], a[i] = 0, k++;
  }

  for(int i = 0; i < n; i++) cout << a[i] << ' ';
}

Или на python

k = -1
a = list(map(int, input().split(' ')))
for i in range(len(a)):
    if a[i] == 0 and k == -1:
        k = i
    
    if a[i] != 0 and k != -1:
        a[k] = a[i]
        a[i] = 0
        k += 1

print(a)
»
4 часа назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

Почему люди стали юзать кф как ГПТ?

»
2 часа назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

зачем спрашивать искусственный интеллект и получить быстрый ответ, когда можно написать об этом блог и ждать 2 дня ответа.