Плохое предложение практики кода.
Итак, вчера мой учитель задал нам вопрос, чтобы попробовать. Ссылка на этот вопрос такова
Переставьте массив таким образом, чтобы arr[i] = i - GeeksforGeeks[^]
Он просто рассказал о проблеме и входных данных и сказал нам попробовать. Я придумал решение и показал ему его.
Но он сказал, что мой код плохой и не оптимизирован. Через некоторое время он показал код (первый), который дан на сайте в проекторе, и сказал, что это правильное решение.
В принципе, мой код и код на веб-сайте работают.
Но мне нужно знать, почему он сказал, что мой код не оптимизирован и плох. Как я могу улучшить себя, чтобы написать хороший код?
Что я уже пробовал:
#include<stdio.h> int main() { int a[] = {-1, -1, 6, 1, 9, 3, 2, -1, 4, -1},n,i,x,y; n= sizeof(a)/sizeof(a[0]); for(i=0;i<n;i++){ if(a[i] == i || a[i] == -1) continue; else if(a[i] != -1){ x=a[i]; y=a[x]; a[i] = y; a[x] = x; } } for(i=0;i<n;i++) printf("%d ",a[i]); } ~ ~ ~ ~
Richard Deeming
Почему бы тебе не попросить учителя объяснить тебе это? За это ему и платят! :)
Kohila G
Очень сильная социальная тревога.