鱼C论坛

 找回密码
 立即注册
123
返回列表 发新帖
楼主: zltzlt

[已解决]Python:每日一题 278

[复制链接]
 楼主| 发表于 2019-11-21 19:22:02 | 显示全部楼层

恭喜通过!

执行用时:50 ms
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-11-21 19:22:33 | 显示全部楼层

恭喜通过!

执行用时:136 ms
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-11-21 19:22:53 | 显示全部楼层

恭喜通过!

执行用时:119 ms
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-11-21 19:51:00 | 显示全部楼层
本帖最后由 Poiink 于 2019-11-22 19:32 编辑
  1. def func278(*li):
  2.     li = list(li)
  3.     sumsum = sum(li)
  4.     for i in range(len(li)):
  5.         if li[i] == 13:
  6.             if i + 5 < len(li):
  7.                 sumsum -= sum(li[i:i+6])
  8.             else:
  9.                 sumsum -= sum(li[i:])
  10.         else:
  11.             continue
  12.     return sumsum
复制代码



修改:
  1. def func278(*li):
  2.     li = list(li)
  3.     sumsum = sum(li)
  4.     i = 0
  5.     while i < len(li):
  6.         if li[i] == 13:
  7.             if i + 5 < len(li):
  8.                 sumsum -= sum(li[i:i+6])
  9.                 i += 6
  10.                
  11.             else:
  12.                 sumsum -= sum(li[i:])
  13.                 break
  14.         else:
  15.             i += 1
  16.     return sumsum
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-11-21 19:54:08 | 显示全部楼层

自己测试了一下发现有问题。。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-11-21 21:10:23 | 显示全部楼层
zltzlt 发表于 2019-11-21 19:11
第一个要快

执行用时:109 ms

诶~是这样吗。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-11-22 08:40:32 | 显示全部楼层
本帖最后由 zm_selina 于 2019-11-22 08:43 编辑

#写得比较烂,也来凑个热闹

def sum_list(list1):
    sum1 = 0  # 存放13以及13后面5个数的和
    for i in range(len(list1)):
        if list1[i] == 13:
            sum1 = sum1 + sum(list1[i:i+6])
    sum2 = sum(list1)
    return sum2 - sum1
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-11-22 08:45:25 | 显示全部楼层
def sum_list(list1):
    sum1 = 0  # 存放13以及13后面5个数的和
    for i in range(len(list1)):
        if list1[i] == 13:
            sum1 = sum1 + sum(list1[i:i+6])
    sum2 = sum(list1)
    return sum2 - sum1
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-11-22 09:30:02 | 显示全部楼层
zltzlt 发表于 2019-11-21 19:21
解答错误

输入:[1, 2, 13, 5, 4, 3, 4, 5, 6]

忧伤,题都看错了。。重新写了一段

  1. def numSum(list1) :
  2.         if 13 not in list1 :
  3.                 return sum(list1)
  4.         else :
  5.                 list2 = list1[: list1.index(13)]
  6.                 list3 = list1[list1.index(13) + 6:]
  7.                 if list1.index(13) == 0 :
  8.                         return 0
  9.                 else :
  10.                         return sum(list2 + list3)
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-11-25 09:37:29 From FishC Mobile | 显示全部楼层
ll
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2019-11-26 11:18:55 | 显示全部楼层
本帖最后由 eachill 于 2019-11-26 15:10 编辑

  1. def f278(nums:List[int]) -> int:
  2.     count = 0
  3.     result = 0
  4.     for i in range(len(nums)):
  5.         if nums[i] == 13:
  6.             count = 5
  7.             continue
  8.         if count > 0:
  9.             count -= 1
  10.             continue
  11.         else:
  12.             result += nums[i]
  13.     return result
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-12-18 00:13:12 | 显示全部楼层
  1. def solve(s):
  2.     sum = 0
  3.     while len(s) > 0:
  4.         if s[0] != 13:
  5.             sum += s[0]
  6.             del s[0]
  7.         else:
  8.             len1 = 5
  9.             del s[0]
  10.             while len1 > 0 and len(s) > 0:
  11.                 if s[0] != 13:
  12.                     del s[0]
  13.                     len1 -= 1
  14.                 else:
  15.                     len1 = 5
  16.                     del s[0]
  17.     return sum

  18. if __name__ == '__main__':
  19.     print('自测1:',solve([1,2,2]))
  20.     print('自测2:',solve([1,2,13,5,4,3,4,5,6]))
  21.     print('自测3:',solve([5,13,7]))
  22.     print('自测4:',solve([0,0,0,0]))
  23.     print('自测5:',solve([13,1,2,3,4,5,13,9,7]))
  24.     print('自测6:',solve([1,2,3,13,5,6,13,9,8]))
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-7-4 02:13

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表