fan1993423
发表于 2019-7-22 16:14:00
漫步云端〃 发表于 2019-7-22 15:39
就是实现这个逻辑的工作量。参考彩票,如果从33个数中选一个号码,那么中奖概率是1/33.但是如果从33个号 ...
这个我知道,我想问的是O(N)和O(N2)这个是指什么意思?
fallout.nj
发表于 2019-7-22 16:16:38
新手·ing 发表于 2019-7-22 15:56
和我想的一样,所以超时了
原来你说的是程序运行的时间~看大家都用了enumerate()函数,初学第一次看到这个函数哦~~哈哈
漫步云端〃
发表于 2019-7-22 16:29:31
fan1993423 发表于 2019-7-22 16:14
这个我知道,我想问的是O(N)和O(N2)这个是指什么意思?
https://blog.csdn.net/IAlexanderI/article/details/78945951
你看这个应该能知道,我是不懂,只是知道有这么个东西。
fallout.nj
发表于 2019-7-22 16:58:15
关于提高效率,我感觉还是从算法上下手,从语句的效率上下手不是正途,以我现有的知识我有两个想法:
1 以原始列的最小值或者平均值为基数,跟原始列表中所有数字的差值形成新的列表,用这个新的列表来进行判断,不过这种方式只是将数值减小而已,核心还是基于冒泡法
2 让这个列表长度不断变小,pop出来对比列表内剩余值,从而形成最终结果
只是两个小点子,因为快下班了,就不做出来了
zsc198945
发表于 2019-7-22 20:11:16
def fun225(temp):
length=len(temp)
res=[]
print(length)
for i in range(length):
for j in range(i,length):
if temp>temp:
res.append(j-i)
break
if j==length-1:
res.append(0)
return res
temp=
print(fun225(temp))
sadangbeng
发表于 2019-7-22 20:33:11
开始思考改进
新手·ing
发表于 2019-7-22 20:36:24
zsc198945 发表于 2019-7-22 20:11
def fun225(temp):
length=len(temp)
res=[]
思路一致,超时
lucky邪神
发表于 2019-7-23 11:15:30
#根据每日 气温 列表,请重新生成一个列表,对应位置的输入是你需要再等待多久温度才会升高超过该日的天数。
#如果之后都不会升高,请在该位置用 0 来代替。
#例如,给定一个列表 temperatures = ,你的输出应该是 。
#提示:气温 列表长度的范围是 。每个气温的值的均为华氏度,都是在 范围内的整数。
import random
listlen = random.randrange(1,30000)
print (listlen)
temperature =out= *listlen
def templist(num):
i = 0
while i < num :
temp = random.randrange(30,100)
temperature = temp
i += 1
return temperature
temp =templist(listlen)
print('温度列表是:',temp)
for k in range(listlen):
for j in range(k+1,listlen):
if j==(listlen-1):
out=0
break
if temp<temp:
continue
else :
out=(j-k)
break
out=0
print('输出列表是:',out)
最后的循环没搞好,输出结果是正确的,要下楼游泳,回来再想
fan1993423
发表于 2019-7-23 11:37:56
这道题就是有两个循环就超时,要不超时就能在一个循环里完成
新手·ing
发表于 2019-7-23 12:16:10
lucky邪神 发表于 2019-7-23 11:15
#根据每日 气温 列表,请重新生成一个列表,对应位置的输入是你需要再等待多久温度才会升高超过该日的天数 ...
喜提超时
新手·ing
发表于 2019-7-23 12:16:25
fan1993423 发表于 2019-7-23 11:37
这道题就是有两个循环就超时,要不超时就能在一个循环里完成
{:10_333:}你试试呗
fan1993423
发表于 2019-7-23 12:40:51
新手·ing 发表于 2019-7-23 12:16
你试试呗
我看到题后也想了一下,最后跟你的思路一致,就没有去写代码了,O(N)我估计是实现不了,这个时候应该呼叫冬雪大佬啊。另我的帖子希望审核通过。
Spy666
发表于 2019-7-23 14:01:30
朕要看
fan1993423
发表于 2019-7-23 14:58:36
本帖最后由 fan1993423 于 2019-7-23 15:00 编辑
a=
# a=
lenth=len(a)
res=[]
i=1
while lenth:
try:
if a>a:
res.append(i)
a.pop(0)
i=0
i+=1
except:
res.append(0)
a.pop(0)
i=1
ifnot len(a):break
print(res)
想了一会儿,你看这个可以吗?只有一层循环!
新手·ing
发表于 2019-7-23 15:08:02
fan1993423 发表于 2019-7-23 14:58
想了一会儿,你看这个可以吗?只有一层循环!
我觉得很厉害,
可是还是超时了,
本帖中所有代码都通不过一组数据,
fan1993423
发表于 2019-7-23 15:09:52
新手·ing 发表于 2019-7-23 15:08
我觉得很厉害,
可是还是超时了,
本帖中所有代码都通不过一组数据,
啥子哦,都只有一层循环了,还超时。难道不用循环吗{:10_266:},我实在想不出了不用循环的办法
新手·ing
发表于 2019-7-23 15:11:25
fan1993423 发表于 2019-7-23 15:09
啥子哦,都只有一层循环了,还超时。难道不用循环吗,我实在想不出了不用循环的办法
这题好像要用栈做,然而我不会
fan1993423
发表于 2019-7-23 15:13:09
新手·ing 发表于 2019-7-23 15:11
这题好像要用栈做,然而我不会
太高深了,已经超出对普通语法知识的考察了。算了。找个符合我们水平的练习题吧,坐等你出226题吧.
新手·ing
发表于 2019-7-23 15:15:29
fan1993423 发表于 2019-7-23 15:13
太高深了,已经超出对普通语法知识的考察了。算了。找个符合我们水平的练习题吧,坐等你出226题吧.
{:10_327:}咱们的水平,能做出来就可以了。
{:10_305:}但是新东西还是要学的。
fan1993423
发表于 2019-7-23 15:32:57
新手·ing 发表于 2019-7-23 15:15
咱们的水平,能做出来就可以了。
但是新东西还是要学的。
嗯,全栈先等会吧,我现在学的方向是机器学习,深度学习,神经网络,能把这些搞明白我就很满足了,高等数学,线性代数,统计论,概率论,英语。基础我自己都还要夯实