Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何找到一个数中最大和的连续递增位数_Python_Python 3.x_Python 2.7 - Fatal编程技术网

Python 如何找到一个数中最大和的连续递增位数

Python 如何找到一个数中最大和的连续递增位数,python,python-3.x,python-2.7,Python,Python 3.x,Python 2.7,如何使用python查找连续递增数字的最大和及其在数字中的位置 我的做法如下: def findLIS(A,n): hash=dict() LIS\u大小,LIS\u索引=1,0 散列[A[0]]=1 对于范围(1,n)内的i: 如果[i]-1不在散列中: 散列[A[i]-1]=0 散列[A[i]]=散列[A[i]-1]+1 如果LIS_size=n[i]: 如果最大和n[i]:您能用文字说明您将如何更改条件吗?你需要看什么?你需要跟踪什么。不要只考虑你需要做的事情的逻辑。这将帮助您确定在pyt

如何使用python查找连续递增数字的最大和及其在数字中的位置

我的做法如下:

def findLIS(A,n): hash=dict()

LIS\u大小,LIS\u索引=1,0
散列[A[0]]=1
对于范围(1,n)内的i:
如果[i]-1不在散列中:
散列[A[i]-1]=0
散列[A[i]]=散列[A[i]-1]+1
如果LIS_size
n = input()+"0"

max_sum = 0
max_pos = ""
start = 0
sum = int(n[0])
for i in range(1, len(n)):
    if n[i-1] >= n[i]:
        if max_sum < sum:
            max_sum = sum
            max_pos = "{}-{}".format(start+1, i)
        start = i
        sum = int(n[i])
    else:
        sum += int(n[i])
print("{}:{}".format(max_sum, max_pos))
n=input()+“0”
最大和=0
max_pos=“”
开始=0
总和=int(n[0])
对于范围(1,len(n))中的i:
如果n[i-1]>=n[i]:
如果最大和<和:
最大和=和
max_pos=“{}-{}”。格式(开始+1,i)
开始=i
总和=int(n[i])
其他:
总和+=int(n[i])
打印(“{}:{}”。格式(最大和,最大位置))

有一点是肯定的,那就是数量应该严格增加。如果序列
333
也符合您需要更改的条件:
如果n[i-1]>n[i]:

您能用文字说明您将如何更改条件吗?你需要看什么?你需要跟踪什么。不要只考虑你需要做的事情的逻辑。这将帮助您确定在python中要做的事情。(例如,迭代数字中的数字。)然后,您可以就不知道如何处理的位请求帮助。为什么第二个示例中的答案是3:3-4,而不是4:1-1?@AliaksandrPlekhau抱歉,是的,我认为该案例的答案是正确的4@djna嘿,伙计,检查我的编辑,我发布了我的方法,但问题是我不知道如何打印职位。
n = input()+"0"

max_sum = 0
max_pos = ""
start = 0
sum = int(n[0])
for i in range(1, len(n)):
    if n[i-1] >= n[i]:
        if max_sum < sum:
            max_sum = sum
            max_pos = "{}-{}".format(start+1, i)
        start = i
        sum = int(n[i])
    else:
        sum += int(n[i])
print("{}:{}".format(max_sum, max_pos))