HR_Counting Valleys

把字符串数字化之后应该从 i>0开始判断而不是 i>1 因此错了4个testcases。

#!/bin/python3

import math
import os
import random
import re
import sys

# Complete the countingValleys function below.
def countingValleys(n, s):
    s_num = []
    for i in range(n):
        if s[i:i+1] == 'U':
            if i == 0:
                s_num.append(1)
            else:
                s_num.append(s_num[i-1] + 1)
        else:
            #'D'
            if i == 0:
                s_num.append(-1)
            else:
                s_num.append(s_num[i - 1] - 1)
    count = 0
    for i in range(len(s_num)):
        if i > 0:
            if s_num[i] == 0 and s_num[i-1] == -1:
                count = count +1
    return count

if __name__ == '__main__':
    fptr = open(os.environ['OUTPUT_PATH'], 'w')

    n = int(input())

    s = input()

    result = countingValleys(n, s)

    fptr.write(str(result) + '
')

    fptr.close()

  

原文地址:https://www.cnblogs.com/alfredsun/p/9732184.html