美文网首页
2020-09-02 面试题二

2020-09-02 面试题二

作者: Joyner2018 | 来源:发表于2020-09-02 17:32 被阅读0次

题目

题目二

答案

def func(num_list):
    num_len = len(num_list)
    count_list = [1] * num_len
    for i in range(1,num_len-1):
        if num_list[i] > num_list[i-1]:
            count_list[i] = count_list[i-1] + 1
        elif num_list[i] == num_list[i-1]:
            count_list[i] = 1
        else:## num_list[i] < num_list[i-1] 
            if count_list[i-1] >= 2:
                count_list[i] = 1
            else:
                count_list[i] = 1
                count_list[i-1] = 2
                j = i-2
                while j >= 0:
                    if num_list[j] > num_list[j+1] and count_list[j] <= count_list[j+1]:
                        count_list[j] = count_list[j+1] + 1
                    j -= 1
    print(count_list)
    return sum(count_list)

if __name__=="__main__":
    print(func([4,1,3,3,3,243,6,7,7,8,2,89,8,5,4,23,423,23]))

相关文章

网友评论

      本文标题:2020-09-02 面试题二

      本文链接:https://www.haomeiwen.com/subject/otvwsktx.html