- 博客(20)
- 收藏
- 关注
原创 python字典排序
字典排序1、按键排序>>> d = {'a':66,'j':25,'h':12,'v':66,'p':19,'d':9,'e':89,'o':3,'s':66}>>> by_key = sorted(d)>>> by_key['a', 'd', 'e', 'h', 'j', 'o', 'p', 's', 'v']>>> for i in by_key: print(i, d[i],end = '; ')a 66; d
2022-03-12 09:55:37
1709
原创 python枚举法
文章目录枚举法1、枚举法求最大公因数2、判断水仙花数枚举法对要解决的问题注意列举出所有的情况,逐步判断那些是符合要求的条件,从而得到问题的解1、枚举法求最大公因数思路1:先求n1的公因数,再求n2的公因数,再求公因数,取maxdef common_factor(n1,n2): ls1,ls2 = [], [] for i in range(n1): # 求n1的所有因数 if n1%i == 0: ls1.append(i) for j in range(n2):
2022-03-02 09:41:29
1863
原创 python打家劫舍问题
文章目录打家劫舍问题(力扣198)问题描述代码实现1、递归2、动态规划(自底向上)3、算法优化---空间压缩技术4、返回偷盗的房间编号打家劫舍问题(力扣198)问题描述你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算你 不触动警报装置的情况下 ,一夜之内能够偷窃到的最高金额。代码实现1、递归def steal_r
2022-02-27 23:22:55
377
原创 斐波那契数列的三种实现方式
文章目录斐波那契数列1、递归思想2、带有备忘录的递归方法(自顶向下)3、自底向上法斐波那契数列斐波那契数列指的是这样一个数列 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233,377,610,987...从第3项开始,每一项都等于前两项之和。特别指出:第0项是0,第1项是1。1、递归思想def fibo(n): if n <= 2: return 1 else: return fibo(n-1
2022-02-27 12:18:58
572
原创 整数反转问题
整数反转题目:给你一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果。如果反转后整数超过 32 位的有符号整数的范围 [−231, 231 − 1] ,就返回 0。思路分析:1、反转:整数不可变不可迭代,无法操作。转化为str 用反向切片,或者列表的reverse()方法。但创建列表需要额外空间,故采用字符串的反向切片。2、符号:单独用条件判断,不参与反转过程def reverse(x): # x:int if not x: # 0 返回0
2022-02-26 11:02:18
157
原创 python用栈实现进制转化
题目描述:将十进制整数转化为其他进制思路分析将十进制转为其他进制数字,用除商取余法,然后倒着取余数部分。“倒着取”--------栈的反转性质“取余数”--------用字符串的拼接我们将此函数分为两部分分析:1、除商取余法获取余数存入栈中;2、输出栈中元素def convert_base(number,base): ''' 将十进制转化为其他进制 :param number: 要转化的整数,int类型 :param base: 新的进制
2022-02-25 22:56:50
1216
原创 python用栈实现括号匹配问题
问题描述:给定一个字符串文字,里面可能含有"()","[]","{}"三种括号,判断字符串中的括号是否都成对出现***思路分析:如果括号正确匹配,肯定满足:1、一对正确匹配的括号,一定先出现左括号,再出现右括号;2、三种括号不会出现交叉现象。如“{【】{}()()}”,而不会出现类似“(【)】”的情况。如果以人类思维方式取匹配,过程如下:遇到左括号先暂时不管,遇到右括号再看前面出现的左括号是否匹配。(而且由于括号不会交叉,遇到右括号后,查找的一定是距离最近的一个左括号)最前面(最先)出现的
2022-02-25 20:24:19
2420
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人