随笔分类 - PYTHON小练笔
摘要:很多笔试题都会问中序表达式转换成后缀表达式的方法 算法很固定,需要用到两个栈 想将表达式字符串转换成tokens,然后在从左向右遍历整个数组。 def reverse_polish_notation(expression:str): op_stack = [] digit_stack = [] ex
阅读全文
摘要:问题: https://leetcode-cn.com/problems/edit-distance/ 讨论: 这个题我在华为笔试的时候遇到过,直接看懵了。无意中在知乎上发现有人讨论这个题(https://zhuanlan.zhihu.com/p/111409982),稍微弄懂了些皮毛, 所以记录一
阅读全文
摘要:刷知乎的时候看到的题目,思路是评论区大佬给的 有点像排序里的计数排序法 代码如下
阅读全文
摘要:利用递归的思想和python的deque,产生一个字符串的所有排列组合 from collections import deque def generate_permutations(string): if len(string) == 1: return deque([string]) permu
阅读全文
摘要:利用递归的思想,用python的set方法完成,找到每次去掉一个元素的所有子集, 例如 {1,2,3} 它的子集是{{1}, {2}, {3}, {1,2}, {1,3}, {2,3}}, 从最基本的情况开始考虑,当 {1} 时,它的子集是 {{}, {1}} 那么考虑递归缩小问题范围,有集合{1,
阅读全文
摘要:例如‘aabbcc’,去重后为‘abc’ 同样是两种方法,一种是循环迭代 另一种是递归
阅读全文
摘要:插入法排序还可以用python的切片功能和递归的思路来实现 比较tricky的地方是L1长度为2的时候要特殊对待
阅读全文
摘要:插入法排序 假设有一个数组L长度为n, 那么假设L[1..n-1]已经排序完毕,那么只需要将L[n]插入到合适的为止即可让L[1..n]有序 ''' From smallest to largest ''' def insert_sort(list_of_nb): ''' >>> insert_so
阅读全文
摘要:Input:长度为n的数组作为查找对象,一个数字作为要查找的标准 Output: 挑选出数组中满足和为该数字的子数组 思路: 试想,若有一数组为[1, 2, 3, 4, 5, 6, 7, 8, 9]找到和为6的子数组。结果应该为[1,2,3], [1,5], [2,4], [6]。 当挑选出一个数字
阅读全文
摘要:冒泡法是一种非常简单的排序方法,如下代码是将数组中数字按照从小到大的顺序排列 如同水中的气泡一样,通过同相邻数字之间进行比较,大的数字会漂浮到数组的最末端 1 ''' 2 To sort a list from smallest to biggest 3 ''' 4 def bubble_sort(
阅读全文

浙公网安备 33010602011771号