zltzlt 发表于 2020-4-15 13:33:15

大周家的MSH 发表于 2020-4-14 14:47
应该可以吧。。。

输入 出错

zltzlt 发表于 2020-4-15 13:33:53

ouyunfu 发表于 2020-4-14 15:54


输入 出错

zltzlt 发表于 2020-4-15 13:34:25

Fallenight 发表于 2020-4-14 16:16
def new_sort(list):
        a = len(list)
        for each in list:


解答错误

输入:
输出:2
预期结果:0

kinkon 发表于 2020-4-15 13:38:47

zltzlt 发表于 2020-4-15 13:26
第一段代码的 nums 是……?

弄错了,已经改正

asianz 发表于 2020-4-15 14:14:58

def func375(arr):
    left = 0
    right = 0
    for i in range(len(arr)):
      if arr >= arr:
            left = i
            break
    for j in range(len(arr)-1, 0, -1):
      if arr <= arr:
            right = j
            break
    if right > left:
      print(right-left+1)
    else:
      print(0)

大周家的MSH 发表于 2020-4-15 14:28:12

zltzlt 发表于 2020-4-15 13:33
输入 出错

谢谢,没想到这种情况,正在改正{:5_109:}

蒋博文 发表于 2020-4-15 15:03:44

def fun375(nums):
    num_sort=nums[:]
    num_sort.sort()
    n = len(nums)
    i,j = 0,n - 1
    while i < n and nums == num_sort:
      i += 1
    while j > i + 1 and nums == num_sort:
      j -= 1

    return j - i + 1

ouyunfu 发表于 2020-4-15 15:57:04

zltzlt 发表于 2020-4-15 13:33
输入 出错

谢谢指正def f375(arr):
    a=sorted(arr)
    b = !=a]
    if b == []:
      return 0
    return b[-1]-b+1

阴阳神万物主 发表于 2020-4-15 17:17:47

难度评级:简单
要素分析:对比
代码:def solve(lst:'list of int',how:bool=False)->int:
    if not lst:
      raise ValueError('empty lst')
    le = len(lst)
    b,s = ]*2
    l,r = 0,0
    for i in range(le-1):
      if lst>lst:
            b,s = ]*2
            l,r = i,i
            break
    for i in range(l,le):
      n = lst
      if n > b:b = n
      elif n < b:r = i
      if n < s:
            s = n
            for j in range(l,0,-1):
                if lst < n:
                  l = j+1
                  break
            else:l = 0
    if how:print(lst)
    return r-l
if __name__ == '__main__':
    print('示例1 输出:',solve(,1))
当输入列表已经是完全升序的时候没有任何一个子数组需要排列,最短为空组,没问题吧?
思路解说:
需要排序的连续子组有着特性:
1. 左右两端外一定是升序
2. 子组的最小值大于左边的最大值,子组的最大值小于右边的最小值
按照特性寻找即可

阴阳神万物主 发表于 2020-4-15 17:27:00

asianz 发表于 2020-4-15 14:14



这个你来来,应该是 6,可你的结果是 5。

zltzlt 发表于 2020-4-15 17:27:48

whosyourdaddy 发表于 2020-4-14 17:24
def func375(arr):
    temp = sorted(arr)
    length = len(arr)


解答错误

输入:
输出:1
预期结果:0

zltzlt 发表于 2020-4-15 17:28:53

旅途Z 发表于 2020-4-14 22:58
总觉得写的有多余的部分

解答错误

输入:
输出:1
预期结果:0

zltzlt 发表于 2020-4-15 17:37:59

fan1993423 发表于 2020-4-15 00:47


44 ms

zltzlt 发表于 2020-4-15 17:38:35

岚冰1234 发表于 2020-4-15 10:54
只有我一个人没看懂什么意思吗,什么是连续的子数组,给的例子是输入:
输出:5, ...

建议先去学学算法

zltzlt 发表于 2020-4-15 17:39:13

776667 发表于 2020-4-15 09:12


40 ms

风魔孤行者 发表于 2020-4-15 17:41:53

本帖最后由 风魔孤行者 于 2020-4-15 17:47 编辑

def f(list1):
    list2 = sorted(list1)
    if list1 == list2:
      return 0
    else:
      for m in range(len(list1)):
            if list1 != list2:
                mi = m
                break
      for n in range(len(list1)-1,-1,-1):
            if list1 != list2:
                ma = n
                break
      return ma-mi+1

whosyourdaddy 发表于 2020-4-15 20:20:56

def func375(arr):
    temp = sorted(arr)
    length = len(arr)
    maxs = 0
    mins = 0
    for i in range(length):
      if temp != arr:
            mins = i
            break
    for i in range(length-1,mins,-1):
      if temp !=arr:
            maxs = i
            break
    if maxs == mins:
      return 0
    return maxs-mins+1

zltzlt 发表于 2020-4-15 20:21:40

kinkon 发表于 2020-4-14 13:35
不知道理解对不对




第一个 41 ms,第二个 47 ms

zltzlt 发表于 2020-4-15 20:23:33

asianz 发表于 2020-4-15 14:14


输入 出错

zltzlt 发表于 2020-4-15 20:36:18

蒋博文 发表于 2020-4-15 15:03


49 ms
页: 1 [2] 3
查看完整版本: Python:每日一题 375