определить, можно ли получить строго возрастающую последовательность, удалив не более одного элемента из массива - PullRequest
0 голосов
/ 18 июня 2020
def almostIncreasingSequence(sequence):
    if sorted(sequence)==sequence:
        return True
    else:
        seq1=sequence[:]
        flag=0
        for i in range(len(seq1)):
            sequence.pop(i)
            num=check_sorted(sequence)
            if num==1:
                flag=1
                break
            else:
                sequence=seq1[:]
        if flag==1:
            return True
        else:
            return False



def check_sorted(sequence):
    check=0
    for i in range(len(sequence)-1):
        if sequence[i]<sequence[i+1]:
            check=1
        else:
            check=0
    #if sorted(sequence)==sequence:
        #return 1
    #else:
        #return 0
    return check

Не могли бы вы сказать, что не так, я здесь?

Input:
sequence: [1, 2, 1, 2]
Output:
true
Expected Output:
false

1 Ответ

0 голосов
/ 18 июня 2020
def strictly_increasing_sequence(sequence):
    N = len(sequence)
    for i in range(N - 1):
        if (sequence[i] >= sequence[i+1]):
            return False
    return True

def check_sequence(sequence):
    if strictly_increasing_sequence(sequence):
        print("The sequence was strictly increasing from the beginning")
        return True
    else :
        N = len(sequence)
        for i in range(N):
            subsequence = sequence[:i]+ (sequence[i+1:] if i < N - 1 else [])
            if strictly_increasing_sequence(subsequence):
                print("By pop item {} it works".format(i))
                return True
    return False
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...