[白俊]1377号パールセット


リンク:https://www.acmicpc.net/problem/1377
🤔 質問する
BubbleSotアルゴリズムはC++で記述されています.
bool changed = false;
for (int i=1; i<=N+1; i++) {
    changed = false;
    for (int j=1; j<=N-i; j++) {
        if (A[j] > A[j+1]) {
            changed = true;
            swap(A[j], A[j+1]);
        }
    }
    if (changed == false) {
        cout << i << '\n';
        break;
    }
}
上記ソースでは、Nは配列の大きさであり、Aは並べ替えが必要な配列である.配列はA[1]から使用される.
上記ソースを実行したときに出力される値を求めてみます.
🤨 に答える시간 초과
import sys
input = sys.stdin.readline

n = int(input())
array = [int(input()) for _ in range(n)]

flg = False

for i in range(1, n+2):
    flg = False
    for j in range(n-i):
        if array[j] > array[j+1]:
            flg = True
            array[j], array[j+1] = array[j+1], array[j]
    if flg == False:
        print(i)
        break