- 博客(18)
- 收藏
- 关注
原创 关于lambda表达式的理解
#lambda表达式f=lambda x:x*xprint(f(5))#相当于def fn(x): return x*xprint(fn(5))#常用于按需求排序list1=[("hello",123),("aaa",0),("kkkk",4),("ds",23)]list4=[("hello",123),("aaa",0),("kkkk",4),("ds",23)]list2=sorted(list1,key=lambda x:x[0]) #按照元组的第一个值排序.
2022-01-07 20:25:16
1388
原创 关于python中装饰器的理解
装饰器:用来拓展原来函数功能的函数,目的是不改名原来函数的函数名,增加新的功能装饰器的实现,all_time(fn),fn即被装饰的函数,在all_time(fn)的arr()方法中调用fn(),使用@all_time调用被装饰的函数;如果被装饰的函数中有参数,那么装饰器函数中all_time(fn)中的arr()函数需要传参max_num,即arr(max_num),对arr方法中的fn函数在调用的时候也需要穿max_num,即fn(max_num);如果被装饰的函数有返回值,那么装饰器函数中.
2022-01-07 20:04:07
507
原创 leetcode11. 盛最多水的容器
给你 n 个非负整数 a1,a2,...,an,每个数代表坐标中的一个点(i,ai) 。在坐标内画 n 条垂直线,垂直线 i的两个端点分别为(i,ai) 和 (i, 0) 。找出其中的两条线,使得它们与x轴共同构成的容器可以容纳最多的水。说明:你不能倾斜容器。示例 1:输入:[1,8,6,2,5,4,8,3,7]输出:49解释:图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下,容器能够容纳水(表示为蓝色部分)的最大值为49。...
2021-12-13 00:49:51
150
原创 LeetCode6. Z 字形变换
将一个给定字符串 s 根据给定的行数 numRows ,以从上往下、从左到右进行Z 字形排列。比如输入字符串为 "PAYPALISHIRING"行数为 3 时,排列如下:P A H NA P L S I I GY I R之后,你的输出需要从左往右逐行读取,产生出一个新的字符串,比如:"PAHNAPLSIIGYIR"。请你实现这个将字符串进行指定行数变换的函数:string convert(string s, int numRows);示例 1:输入:...
2021-12-12 23:40:44
138
原创 Leetcode 5. 最长回文子串
class Solution: def longestPalindrome(self, s: str) -> str: longest=s[0] for i in range(1,len(s)): for j in range(i): if self.isPalin(s[j:i+1]): if len(longest)<i-j+1: .
2021-12-11 00:09:08
181
原创 leetcode748. 最短补全词
给你一个字符串 licensePlate 和一个字符串数组 words ,请你找出并返回 words 中的 最短补全词 。补全词 是一个包含 licensePlate 中所有的字母的单词。在所有补全词中,最短的那个就是 最短补全词 。在匹配 licensePlate 中的字母时:忽略licensePlate 中的 数字和空格 。不区分大小写。如果某个字母在 licensePlate 中出现不止一次,那么该字母在补全词中的出现次数应当一致或者更多。例如:licensePlate = "aB.
2021-12-10 20:41:22
335
原创 浅析浅拷贝与深拷贝
python的赋值实际上是对象的引用,创建一个对象以后,给改对象赋值,python并没有拷贝该对象,而是拷贝了对象的引用(1)浅拷贝与深拷贝list1=[1,2,3,"a","b"]test1=list1 #直接赋值,默认浅拷贝,传递对象的引用而已,原始队列也改变,被赋值的也改变print(list1)print(test1)list1.append(111)print(list1)print(test1)test1.append(3333)print(lis.
2021-12-08 17:16:13
372
转载 五大APP安全在线检测平台对比
五大APP安全在线检测平台对比时间2017-10-31标签APP自动化检测Android安全移动安全ios安全栏目系统安全原文http://1425831735.blog.51cto.com/12166228/1977785Android APP检测之自动化检测实战:五大APP安全在线检测平台对比 - FreeBuf.COMAndroid APP...
2019-03-13 18:06:06
6660
原创 N背包问题
/*n背包i个物品在体积为j的背包中最大的价值为max(第i个物品装0个,装1个……装j/i.weight)w 3 2 5v 8 5 12 背包容量为5 0 1 2 3 4 53 0 0 0 8 8 82 0 0 5 8 10 135 0 0 0 8 10 13*/
2016-10-22 16:45:35
793
原创 最长公共子序列
/*最长公共子序列3,8,7,6,5,24,8,3,6,5,1c[i][j] 表示第一个数组的第i个位置和第二个数组的第j个位置的第j个位置的最长公共子序列的长度如果第一个数组第i个位置的值和第二个数组第j个位置的值相同那么最长公共子序列的值等于第一个数组第i-1个位置的值和第二个数组第j-1个位置最长公共子序列的值加一(c[i][j]=c[i-1][j-1]+1)
2016-10-22 15:07:30
223
原创 台阶走法
/* 问题:一个楼梯有35级,每次走1级或2级或3级,请问从底走到顶一共有多少种走法? 思想:到达最后一阶可以由最后一阶的前三阶走三步上去,或者由最后一阶的前两阶走两步上去,也可以由最后一阶走一步上去 第一阶有一种走法(一步) 第二阶有两种走法(连着走两个一步和直接一步走两个台阶) 第三种走法(由前两个台阶的走法再走一步和直接一步走三个台阶) 第i阶走法=第i-
2016-10-22 14:22:13
1017
原创 最长递减子序列
/*最长递减子序列如果Array[i]>aArray[j] 第i个数的最长递减子序列的长度 等于 i+1到最后一个数的最长递减子序列的长度 加 1否则 最长递减子序列的长度就是1;最后一个数的最长递减子序列的长度等于1,最开始的时候dp[i]的值都为1;然后倒着求最长递减子序列如 3,8,7,5,4,6,3,9dp[0]=1,dp[1]
2016-10-21 22:25:27
972
原创 0-1背包
/*0-1背包问题如果背包容量j大于第i个物品的体积那么前i个物品在容量为j的最大价值为第i个物品的价值加上前面i-1个物品在容量为j-第i个位置上的体积或者前面i-1个物品的最大值dp[i][j]=max(dp[i-1][j],dp[i-1][j-a[i].weight]+a[i].value)如果背包容量j小于第i个物品的体积那么前i个物品在容量为j的最大价值为
2016-10-17 21:59:09
214
原创 最大字段和问题
/*最大字段和问题以第i位数字结尾的最大字段和等于前一个字段和加上本身的值或者等于本身;动态转移方程为:dp[i]=max(dp[i-1]+a[i],a[i]);如 8,34,-67,98,3,5,-7,43dp[0]=8;因为dp[0]大于0,所以dp[1]=dp[0]+a[1];因为dp[1]大于0,所以dp[2]=dp[1]+a[2];因为dp[2]小于0,所
2016-10-17 20:55:46
916
原创 归并排序
/*归并排序:用分治法,对要排序的数组一分为二,对每个子数组依然一分为二,直到数组中只有一个元素为止;然后将相邻两个数组进行合并如:3,98,43,9,36,45,2,7拆分:要排序的数组一分为二,对每个子数组依然一分为二,直到数组中只有一个元素,数组就是有序的第一次拆分:3,98,43,9 36,45,2,7第二次拆分:3,98 4
2016-10-16 12:36:33
189
原创 插入排序
/*插入排序i从第二个数开始,并与其前面的数字进行比较,找到第一个比其大的数,并记录其位置t;然后把位置t到位置i-1的数后移一位,然后将原本第i位置上的数放在第t位置上如 4 9 43 3 5 44 94 8先9与4比较 9>4是有序的,不需要做任何操作;43依次与4,9比较 43>4,43>9是有序的,不需要做任何操作;3与4比较
2016-10-14 22:39:04
204
原创 全排列
全排列要对一个n个数进行全排列,可以分解为n个子问题,然后分别固定这n个数对每个子问题又分子问题,直到不能分解为止,例如:12345子问题为 1 2345 12 345 13 245 14 235 15 234 123 45 123 54 1234 5 2
2016-09-27 20:32:31
234
原创 循环队列
循环队列每次出队,先判断队列是否为空。若不为空对头先出对,修改队列长度队长-1,修改队头对头向后移一位,(head+1)%content,运用模运算避免溢出和构成一个环。同理,出队 每次入队,先判断队列是否为满。若不为满对队的元素加入到队尾,修改队列长度队长+1,修改队尾对头向后移一位,(tail+1)%content。遍历的时候也同样进行模操作。//Queue.hclass m
2016-09-27 16:41:54
298
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人