算法题
Gaafung
python开发工程师
微信: manfeng5717
展开
-
python - 简单算法题 - 列表偏移
列表偏移来源:http://www.coolpython.net/python_primary/algorithm_exercises/easy_list_shift.html题目要求lst = [1,2,3,4,5],列表向右偏移两位后,变成lst = [4,5,1,2,3]思路分析第一种方式:用切片将 [1,2,3] 和 [4,5] 取出来,之后合并在一起lst = [1,2,3,4,5]result = lst[3:]+lst[:3]print(result)或者lst = [原创 2020-07-29 23:05:20 · 982 阅读 · 0 评论 -
python - 简单算法题 - 生成矩阵
文章目录生成矩阵题目要求思路分析示例代码分析时间复杂度优化思考生成矩阵题目要求已知两个列表lst_1 = [1, 2, 3, 4]lst_2 = ['a', 'b', 'c', 'd']请写算法,将两个列表交叉相乘,生成如下的矩阵[['1a', '2a', '3a', '4a'], ['1b', '2b', '3b', '4b'], ['1c', '2c', '3c', '4c'], ['1d', '2d', '3d', '4d']]思路分析根据观察,矩阵的横列表个数取决于lst原创 2020-07-22 09:40:13 · 1207 阅读 · 0 评论 -
python - 简单算法题 - 求三位数组合
求三位数组合lst = [3, 6, 2, 7]这四个数字能组成多少个互不相同且无重复数字的三位数?比如362算一个,326算一个,请逐个输出他们思路分析从4个数里面取3个数,且不重复,然后进行拼接,做3个for循环加判断不相等即可。与排列组合相同,取三个数,不放回,并且有顺序。C43∗P33=4∗3!=24C_4^3*P^3_3 = 4 * 3! = 24C43∗P33=4∗3!=24 种取法可能。(题目特殊,lst各不相同,若有相同需要先在重复中二选一C21C_2^1C21,但对于结果原创 2020-07-20 15:37:10 · 2145 阅读 · 0 评论