- 博客(19)
- 资源 (2)
- 收藏
- 关注
原创 Python中的回溯法和剪枝的应用:求数组中满足目标的(非重复)子数组(2)
Python中的回溯法和剪枝的应用:求数组中满足目标的(非重复)子数组
2022-04-24 16:10:39
746
原创 Python中的回溯法和剪枝的应用:求数组中满足目标的子数组(1)
Python中的回溯法和剪枝的应用:求数组中所有满足给定目标所有子数组的组合
2022-04-22 20:04:49
1086
原创 python中的快慢指针法去除整数列表中的重复元素或者特定元素
给定下列的整数列表 nums,取出其中非重复元素并返回。nums = [4, 9, 1, 4, 1, 2, 3, 7, 6, 5, 7, 8, 0, 1, 2, 3, 5, 8]# 非重复元素 0 1 2 3 4 5 6 7 8 9第一种方法:nums = [4, 9, 1, 4, 1, 2, 3, 7, 6, 5, 7, 8, 0, 1, 2, 3, 5, 8]num = []for i in nums: if i not in num: num.append
2022-04-18 16:23:10
610
原创 python的 列表、字符串、元组、字典、集合 的删除操作
字符串的删除第一种:strs = 'A1b22C333d4444E' a1 = strs.replace('b', '') # 删除字符串 'b'print(a1) # A122C333d4444Ea2 = strs.replace('22', '') # 删除字符串 '22',没有该字符串也不会报错print(a2) # A1bC333d4444Ea3 = strs.replace('4', '', 2) # 删除字符 '4' 2次print(a3) # A1b22
2022-04-17 16:48:36
997
原创 python的双指针法:计算整数列表中符合a+b+c=0或者a+b+c+d=0的所有组合
假定给定已排序的列表 nums = [-5, -3, -3, -2, -1, -1, 0, 0, 1, 1, 2, 2, 4, 5, 5, 5, 6, 7, 7],这里我们需要找出所有符合 a+b+c=0 的不重复组合,比如:[-5, -1, 6], [-1, 0, 1]这里我们使用双指针法找出所有的组合(自行了解双指针,简单来说就是左边的数往右增大移动,右边的数往左减小移动)。直接给出代码:nums = [-5, -3, -3, -2, -1, -1, 0, 0, 1, 1, 2, 2
2022-04-16 17:27:13
1304
原创 python的双指针法计算列表中两元素围成的最大面积
说明:假设给定 [4, 2, 7, 12, 6, 4, 9, 8, 6, 10, 7, 4],为了直观的理解,给出了下图从上图我们可以得出索引4和10的元素围成的最大面积为:10*6 = 60在这里我们使用双指针法计算,直接上代码。nums = [4, 2, 7, 12, 6, 4, 9, 8, 6, 10, 7, 4]right = len(nums)-1 # 初始化右指针left = 0 # 初始化做指针S = 0 # 初始化面
2022-04-15 09:43:40
540
原创 python找出字符串中的最长回文串子序列
回文串,即:nums = 'aba'print(nums == nums[::-1]) # True 反转该序列后和之前元素相等这里我们需要找出给定字符串里的最长回文串,即:nums = 'abcbde''bcb' 为 nums 的最长回文串子序列枚举法nums = 'babad'D = dict() # 储存之前出现过的字符串的序列max_len = 0 # 初始化 回文串的长度num = nums[0] # 初始化 回文串for i, s
2022-04-13 14:59:11
2034
原创 python指针法:计算列表的无重复元素子序列的最大长度
对于给定的列表,统计出不含重复元素的子序列最大长度。例如:['a', 'b', 'b', 'a', 'b', 'c', 'd', 'e', 'a']无重复元素的最大子序列:['a', 'b', 'c', 'd', 'e']在这里使用双指针进行统计:看代码nums = ['a', 'b', 'b', 'a', 'b', 'c', 'd', 'e', 'a']left = -1 # 初始化左指针的位置lens = 0
2022-04-12 20:20:56
887
原创 动态规划:计算给定列表的子序列的最大值?
这里我们假定给出整数列表(股票的价格),问从哪一天买入、哪一天卖出的收益最大??[-1, 5, -2, 9, -5, 8, -12, 3, 4, -6] # 共10天的股票价格第1天:收益 -1。第2天:第2天的收益 5,第1天的收益+第2天的收益=4,则第2天买入并卖出收益最大为 5>4。第3天:第3天的收益 -2,第2天的收益+第3天的收益=3,则第2天买入第3天卖出收益最大为 3>-2。第4天:第4天的收益 9,第3天的收益+第4天的收益=12,则第2天买入第4天卖出
2022-04-12 09:40:09
449
原创 对列表的行和列操作
对于3*4的列表A = [[1, 2, 3, 4], [5, 6, 7, 8], [9, 8, 7, 6]]取出某行某列的元素print(A[2][1]) # 8取出每一行的元素print(A[1]) # [5, 6, 7, 8]取出每一列的元素# 第一种for i in range(4): print([row[i] for row in A])# 输出[1, 5, 9][2, 6, 8][3, 7, 7][4, 8, 6]
2022-04-11 20:39:39
448
原创 Python中的read、readline、readlines的不同
read()读整个文件;readline()读一行;readlines()读所有行存到list中。这里的python.txt的内容为:('a', 1, ['a', 1]){'b', 2, ['b', 2]}['c', 3, ('c', 3)]read():F = open('python.txt', mode='r', encoding='utf-8')print(F.read(), type(F.read()))结果为:读取整个文件,以字符串的形式返回。('a', 1,
2022-04-06 08:18:32
1524
原创 python中的sort和sorted的区别
list.sort(key=**):sort 对列表进行排序,是对原序列排序,不生成新的列表。students = [['zhangsan', 'B', 85], ['lisi', 'C', 90], ['wangwu', 'A', 88]] # 可以# students = [('zhangsan', 'B', 85), ('lisi', 'C', 90), ('wangwu', 'A', 88)] # 可以# students = (['zhangsan', 'B', 85], ['lisi'
2022-04-06 07:42:46
676
原创 Python 函数加括号和不加括号的区别
def A(x, y): def B(y): return x + y return B(y)C = A(3, 4)print(type(C), C)这里就如正常的写法一样,返回<class 'int'> 3+4=7def A(x): return x + 1B = Aprint(type(B), B(2))这里的B类似于 ,返回的类型是<class 'function'>,即再次调用的时候需要加上一个括号,返回值为.
2022-04-05 17:39:34
1504
原创 字典中的 fromkeys 函数的简单使用操作
Python 字典 fromkeys(seq, value) 函数用于创建一个新字典,以序列 seq 中元素做字典的键,value 为字典所有键对应的初始值。D = dict.fromkeys(['a', 'b', 'c'], 1)print(D)返回:{'a': 1, 'b': 1, 'c': 1}D = dict.fromkeys(['a', 'b', 'c'], [1, 2])print(D)返回:{'a': [1, 2], 'b': [1, 2], 'c': [1, 2]}
2022-04-05 17:18:12
1212
原创 python的可变和不可变数据类型
整数可以“+”,可以“*”。字符串可以“+”,可以“*”。元组可以“+”,可以“*”。列表可以“+”,可以“*”。字典不可以“+”,不可以“*”。集合不可以“+”,不可以“*”。不可变数据类型:整型int、字符串str' '、元组tuple()a = 123b = 123print(id(a) == id(b))a = '123'b = '123'print(id(a) == id(b))a = ('1', '2', '3')b = ('1', '2', '3')print
2022-04-05 17:06:28
986
原创 类的静态变量:python 的类和实例都能访问
class Base(object): count = 0 def __init__(self): self.count += 1b1 = Base()print(b1.count,end=" ") print(Base.count,end=" ") Base.count = Base.count + 1print(Base.count,end=" ")b2 = Base()print(b2.count,end=" ")b1.count .
2022-04-04 14:01:51
524
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人