zltzlt 发表于 2020-3-21 17:34:47

永恒的蓝色梦想 发表于 2020-3-19 18:37
我的代码:

力扣大神解法:(128ms)

185 ms

zltzlt 发表于 2020-3-21 17:34:56

kinkon 发表于 2020-3-19 18:50
双针法




306 ms

zltzlt 发表于 2020-3-21 17:35:12

一个账号 发表于 2020-3-19 18:44


输入超大数据超时

zltzlt 发表于 2020-3-21 17:36:40

fan1993423 发表于 2020-3-19 18:51


420 ms

zltzlt 发表于 2020-3-21 17:43:01

mdphd 发表于 2020-3-19 18:58


357 ms

zltzlt 发表于 2020-3-21 17:43:55

永恒的蓝色梦想 发表于 2020-3-19 19:02
友情提示:

开平方请使用math.sqrt(num)


不止 2147483646 呢~~~

zltzlt 发表于 2020-3-21 17:45:53

本帖最后由 zltzlt 于 2020-3-21 17:49 编辑

ouyunfu 发表于 2020-3-19 19:05


输入超大数据超时

zltzlt 发表于 2020-3-21 17:46:16

塔利班 发表于 2020-3-19 19:13


475 ms

永恒的蓝色梦想 发表于 2020-3-21 17:46:32

zltzlt 发表于 2020-3-21 17:43
不止 2147483646 呢~~~

额,我当时测着力扣上最大是这个。错了吗?

zltzlt 发表于 2020-3-21 17:51:39

快马加鞭未下鞍 发表于 2020-3-19 20:28
a = int(input('输入:'))
n=0
for i in range(a//2+1):


输入 1 应该返回 True

zltzlt 发表于 2020-3-21 17:52:35

whosyourdaddy 发表于 2020-3-19 20:59
import math
def func355(n):
    m = int(pow(n,0.5))


输入 4 应该返回 True,0**2 + 2**2 等于 4

zltzlt 发表于 2020-3-21 17:53:41

Herry2020 发表于 2020-3-19 21:07
c= int(input("Enter a integer: "))
active = False
for a in range(1,c):


输入 4 应该返回 True,0**2 + 2**2 等于 4

TJBEST 发表于 2020-3-21 17:54:06

zltzlt 发表于 2020-3-21 17:25
输入 999999999 超时

楼主,请测算我最后一个方法。前面两个挺慢的。最后一个测一下 44楼的那个,其他的就别测了

zltzlt 发表于 2020-3-21 17:54:18

风魔孤行者 发表于 2020-3-19 21:28
笨的方法

850 ms

zltzlt 发表于 2020-3-21 17:54:47

TJBEST 发表于 2020-3-21 17:54
楼主,请测算我最后一个方法。前面两个挺慢的。最后一个测一下 44楼的那个,其他的就别测了

收到

zltzlt 发表于 2020-3-21 17:55:03

wuqramy 发表于 2020-3-19 21:44


输入 0 应该返回 True

zltzlt 发表于 2020-3-21 17:56:07

flamezyy 发表于 2020-3-19 21:47


6 ms

zltzlt 发表于 2020-3-21 17:57:15

TJBEST 发表于 2020-3-19 23:47
最后一个方法,通过数论先筛选一波,然后辗转遍历。比上一个快不少。最重要的是逻辑上比较锻炼数学能力。
...

17 ms{:10_279:}

zltzlt 发表于 2020-3-21 17:57:57

eachill 发表于 2020-3-20 10:42
不想超时用双指针啊

419 ms

TJBEST 发表于 2020-3-21 17:59:11

zltzlt 发表于 2020-3-21 17:56
6 ms

这个厉害了{:5_92:}比我还快
页: 1 2 3 4 [5] 6 7
查看完整版本: Python:每日一题 355