![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
python
永夜等天明
这个作者很懒,什么都没留下…
展开
-
如何解决Python中的RuntimeWarning: invalid value encountered in double_scalars问题
问题背景:在运行《深度学习入门》第六章batch_norm_test.py文件时遇到了以下的警告RuntimeWarning: overflow encountered in squareweight_decay += 0.5 * self.weight_decay_lambda * np.sum(W**2)RuntimeWarning: invalid value encountered in double_scalarsweight_decay += 0.5 * self.weight_d原创 2022-05-04 00:46:17 · 3645 阅读 · 0 评论 -
第44题:超级楼梯
题目描述:有一楼梯共n级,刚开始时你在第一级,若每次只能跨上一级或二级,要走上第n级,共有多少种走法? 现在给你一个正整数n示例:输入:n = 2输出:1思路一:深度优先遍历。way = []def DFS(x, cnt): global c global n if x == n: way.append(cnt) if x < n: DFS(x + 1, cnt + 1) DFS(x + 2, cnt原创 2022-02-03 16:12:18 · 353 阅读 · 0 评论 -
第24题:一马当先
题目描述:下过象棋的人都知道,马只能走’日’字形(包括旋转90°的日),现在想象一下,给你一个n行m列网格棋盘, 棋盘的左下角有一匹马,请你计算至少需要几步可以将它移动到棋盘的右上角,若无法走到,则输出-1. 如n=1,m=2,则至少需要1步;若n=1,m=3,则输出-1。示例:输入:n = 1 m = 2输出:1思路:广度优先遍历,和走迷宫题目类似,不过这里每步有8种走法。step = [[0 for x in range(m + 1)] for y in range(n + 1)] #原创 2022-02-03 15:54:40 · 576 阅读 · 0 评论 -
素数筛法(python实现)
埃式筛法N = 10000000 # 求10e7以内的素数个数p = [False] * (N + 1)pNum = 0for i in range(2, N): if p[i] is False: pNum += 1 for j in range(i * 2, N + 1, i): p[j] = Trueprint(pNum)埃式筛法优化N = 10000000 # 求10e7以内的素数个数p = [False] *原创 2022-01-20 01:20:46 · 634 阅读 · 0 评论 -
第36题:最大非连续子序列
题目描述:给你一个整数list L, 如 L=[2,-3,3,50], 求L的一个非连续子序列,使其和最大,输出最大子序列的和。 这里非连续子序列的定义是,子序列中任意相邻的两个数在原序列里都不相邻。 例如,对于L=[2,-3,3,50], 输出52(分析:很明显,该列表最大非连续子序列为[2,50]).示例:输入: L = [2, -3, 3, 50]输出: 52思路:先插入L[0]=0为基准,从第三个数字左向右扫描,把每个数都更新为加上其上一个数之前的最大值。如L = [2, -3, 3,原创 2022-01-17 00:26:56 · 570 阅读 · 1 评论 -
第34题:密码生成
题目描述:生活在当代社会,我们要记住很多密码,银行卡,qq,人人,微博,邮箱等等。小P经过一番思索之后,发明了下面这种生成密码方法:给定两个正整数a和b, 利用a / b我们会得到一个长度无限的小数(若a / b不是无限小数,比如1/2=0.5,我们认为0.5是0.5000000…,同样将其看做无限长的小数),小P将该小数点后第x位到第y位的数字当做密码,这样,无论密码有多长,小P只要记住a,b,x,y四个数字就可以了,牢记密码再也不是那么困难的事情了。现在告诉你a,b,x,y(0 < a,b &l原创 2022-01-17 00:02:15 · 163 阅读 · 0 评论 -
第33题:大幂次运算
题目描述:给你两个正整数a(0 < a < 100000)和n(0 <= n <=100000000000),计算(a^n) % 20132013并输出结果示例:输入:a = 3453 n = 0输出:1思路一:快速幂。若bbb是奇数,则ab=a∗ab−1a^b =a*a^{b-1}ab=a∗ab−1若bbb是偶数,则ab=ab/2∗ab/2a^b=a^{b/2}*a^{b/2}ab=ab/2∗ab/2# 快速幂迭代写法ans = 1if n == 0:原创 2022-01-16 15:52:50 · 256 阅读 · 1 评论 -
第27题:加油站
题目描述:一个环形的公路上有n个加油站,编号为0,1,2,…n-1, 每个加油站加油都有一个上限,保存在列表limit中,即limit[i]为第i个加油站加油的上限, 而从第i个加油站开车开到第(i+1)%n个加油站需要cost[i]升油,cost为一个列表。 现在有一辆开始时没有油的车,要从一个加油站出发绕这个公路跑一圈回到起点。 给你整数n,列表limit和列表cost,你来判断能否完成任务。 如果能够完成任务,输出起始的加油站编号,如果有多个,输出编号最小的。 如果不能完成任务,输出-1。示例:原创 2022-01-15 01:15:40 · 106 阅读 · 0 评论 -
第16题:人民币金额打印
题目描述:银行在打印票据的时候,常常需要将阿拉伯数字表示的人民币金额转换为大写表示,现在请你来完成这样一个程序。在中文大写方式中,0到10以及100、1000、10000被依次表示为: 零 壹 贰 叁 肆 伍 陆 柒 捌 玖 拾 佰 仟 万以下的例子示范了阿拉伯数字到人民币大写的转换规则:1 壹圆11 壹拾壹圆111 壹佰壹拾壹圆101 壹佰零壹圆-1000 负壹仟圆1234567 壹佰贰拾叁万肆仟伍佰陆拾柒圆现在给你一个整数a(|a|<100000000), 请原创 2022-01-13 01:38:40 · 424 阅读 · 0 评论 -
第12题:结尾非零数的奇偶性
题目描述:给你一个正整数列表 L, 判断列表内所有数字乘积的最后一个非零数字的奇偶性。如果为奇数输出1,偶数则输出0.例如:L=[2,8,3,50]则输出:0示例:输入:L = [2, 8, 3, 50]输出:0思路:求所有数字乘积的最后一个非零数字的奇偶性,将这个乘积质因子分解。由于2x5=10:若质因子2的个数大于5,则还有多余的2可以和剩下质因子乘积,得到的最后一个非零数字一定为偶数。若质因子2的个数小于等于5,则剩余的质因子全为奇数,得到的最后一个非零数字一定为奇数。a,原创 2022-01-12 16:28:57 · 741 阅读 · 0 评论 -
第11题:结尾0的个数
题目描述:给你一个正整数列表 L, 输出L内所有数字的乘积末尾0的个数。(提示:不要直接相乘,数字很多,相乘得到的结果可能会很大)。例如: L=[2,8,3,50],则输出:2示例:输入:L = [4, 2, 25, 7777777, 100, 3, 77777777, 77777777, 77777777, 77777777]输出:4思路:一个数末尾0的个数等于因子10的个数,而10=2x5,故这个数末尾0的个数等于质因子2和5个数的最小值。例如40=2*2*2*5。又由于多个数乘积原创 2022-01-12 16:21:28 · 423 阅读 · 0 评论 -
第6题:求解100以内的所有素数
题目描述:输出100以内的所有素数,素数之间以一个空格区分(注意,最后一个数字之后不能有空格)。思路:使用join内部连接即可保证最后一个数字没有空格。n = [2] # 存储结果for i in range(3, 101, 2): # 排除大于3的所有偶数 sqr = int(i**0.5 + 1) for j in range(2, sqr): if i % j == 0: break else: n.appen原创 2022-01-10 16:42:23 · 695 阅读 · 0 评论