
python
Jackie_Wang11
while(days<=lifetime) {
++learning;
}
展开
-
Pycharm-用鼠标滚轮放大缩小字体大小 + Pycharm在进行debug时出现collecting data或Unable to display frame variables
1,pycharm 字体放大设置:①,File —> setting —> Keymap —>在搜寻框中输入:increase —> Increase Font Size(双击) —> 在弹出的对话框中选择Add Mouse Shortcut②,在弹出的对话框中按住ctrl 键,鼠标滚轮向上滑动后点击 OK 。2,Pycharm 字体缩小设置 :①,File —> setting —> Keymap —>在搜寻框中输入:decrease —>Decrease Font Size(双击)—> 在弹出的对原创 2022-06-13 19:59:20 · 9597 阅读 · 0 评论 -
leetcode 6084. 最多单词数的发件人 (python defaultdict与map的灵活应用)
解题思路首先解决messages列表中每一条信息的单词数量,即 words = message[i].cout(" ")+1其次是建立一个字典,键是sender 值是该发送者发送的单词数量,那么这个使用defaultdcit就能完美解决,cnt = defaultdict(int) cnt[sender]+=words那么我们最后一个字典,键是每一个sender,值是他所有发送的所有单词数,例如上述的例子中,最后生成的cnt为:defaultdict(<class 'int'>, {.原创 2022-05-30 10:05:20 · 246 阅读 · 0 评论 -
前缀和算法总结,Leetcode周赛最小平均差(Python实现)
首先为什么要用前缀和?前缀和的优势在哪里?给定一个列表[a1,a2,a3,a4,a5,a6,a7,a8,a9,a10],如果我们要求前i个元素的和,一般怎么做? python中自带的api是不是就可以基本实现比如我们像要求前5个数的和,如下所示:a = [1,2,3,4,5,6,7,8,9]print(sum(a[:5]))>> 15sum()函数其实就是帮我们做了一次数组遍历,其时间复杂度是O(n),这在平时计算一个这样简单的前i个数的和,时间复杂度可以勉强接受,但是在解决问题时原创 2022-05-01 10:10:47 · 343 阅读 · 0 评论 -
Pytorch中的repeat()函数
pytorch中的repeat()函数可以对张量进行复制。当参数只有两个时,第一个参数表示的是复制后的行数,第二个参数表示复制后的列数。当参数有三个时,第一个参数表示的是复制后的通道数,第二个参数表示的是复制后的行数,第三个参数表示复制后的列数。接下来我们举一个例子来直观理解一下:>>> x = torch.tensor([6,7,8])>>> x.repeat(4,2)tensor([[6, 7, 8, 6, 7, 8], [6, 7, 8,原创 2022-05-01 09:42:36 · 2122 阅读 · 0 评论 -
使用yolov5训练PASCAL VOC2012数据集以及遇到的坑
首先是pascal voc标签数据格式转yolo标签数据格式,这两种有什么区别,欢迎翻看之前的博客 PASCAL VOC格式的标注格式和YOLO格式的txt标记文件import xml.etree.ElementTree as ETimport pickleimport osfrom os import listdir, getcwdfrom os.path import join# 要生成的文件夹sets = [('2012', 'train'), ('2012', 'val')]#原创 2022-04-29 23:10:00 · 3996 阅读 · 0 评论 -
Leetcode 56.合并区间 Python实现
这道题只要能发现一个规律就能做出来:如果列表中每一个子列表的第一个元素是升序的,那么只要前一个子列表的第二位元素比后一个子列表的第一位元素大,就可以将这两个子列表(区间)进行合并,举个例子,如果[1,3]和[2,6],这两个区间的第一位分别是1和2满足升序,那么[1,3]中第二位元素3>[2,6]中第一位元素,即可以将这两个区间合并为[1,6]那么我们应该怎么实现呢?难道要遍历intervals数组的同时在内部不断合并吗?这样也太麻烦了,何不构建一个列表merge,在遍历intervals的同时将.原创 2022-04-26 11:26:59 · 957 阅读 · 0 评论 -
Leetcode33.旋转排序数组与面试题11.旋转数组的最小数字 Python实现及其详解
本题要点就是:只在有上升顺序的那一端做二分查找,妥妥的能解决,并且思路清晰,虽然思路很简单,但是二分查找看的是细节,判断语句中使用大于等于,还是大于,或者使用小于等于还是小于,这些写错一个就可能会要了你的命!代码实现:class Solution: def search(self, nums: List[int], target: int) -> int: n = len(nums) left,right =0,n-1 while left<=righ.原创 2022-04-25 15:45:21 · 1311 阅读 · 0 评论 -
判断完全数,判断质数 python c++实现
、原题链接:https://www.acwing.com/problem/content/727/由于时间复杂度限制,判断时判断遍历所有数会超时,只需要判断到根号a的情况即可,此时需要注意,如果a%i==0那么i是a的约束,a/i也是a的约束,如果i!=a/i的话,那么此时也需要把这个数加上import mathwhile True: try: n = int(input()) for _ in range(n): a = int(in原创 2022-04-24 21:01:13 · 1815 阅读 · 0 评论 -
环形链表Ⅰ,Ⅱ三种解决方法(Python实现)
环形链表Ⅰ只是判断给定的链表中是否存在环形链表,存在则返回True,不存在则返回False环形链表Ⅱ则是要返回链表开始入环的第一个节点。一、快慢指针双指针第一次相遇:设两指针fast,slow指向链表头部,fast每轮走2步,slow每轮走1步,如果fast指针走过链表末端,说明链表无环 if not fast or not fast.next :return None当fast==slow时,两个指针在环中第一次相遇,分析fast和slow的步数关系,设链表共有a+b个节点,其中链表头部到链表原创 2022-04-18 14:46:05 · 1425 阅读 · 0 评论 -
如何找出列表中相同元素的所有索引值 python实现
如何找出列表中相同元素的所有索引值 python实现index()只能找到第一个索引位置,那么如何找到相同元素的所有索引值呢?可以通过以下方式实现:nums = [2,5,5,11]# 找出元素值为5的索引index = [i for i,val in enumerate(nums) if val==5]两数之和:方法一:def twoSum(nums, target): nums1 = sorted(nums) left,right = 0,n-1 res = [] while原创 2022-04-18 09:46:02 · 6834 阅读 · 1 评论 -
python 将列表中的奇数位置元素与偶数位置元素调换
python 将列表中的奇数位置元素与偶数位置元素调换今天突然想到了这个问题,想想这种情况自己竟然没有实现过,所以花了几分钟写一下这里需要注意的是,列表的长度可能是奇数个也有可能是偶数个num = [1,3,5,6,8,9,4,5,6] --> num=[3,1,6,5,9,8,5,4,6]实现方式:num = [1,3,5,6,8,9,4,5,6]for i in range(0,len(num),2): try: num[i],num[i+1] = num[i+原创 2022-03-30 10:11:02 · 3542 阅读 · 0 评论 -
python 使用set()对列表去重如何不改变元素顺序
首先,定义一个列表,即原列表:list1 = [0, 3, 2, 3, 1, 0, 9, 8, 9, 7];然后,使用set()对原列表去重list2 = list(set(list1)),得到[0, 1, 2, 3, 7, 8, 9];原理:set(list1)将列表list1转换为集合,集合是一个无序的不重复元素序列,然后再list将集合转换为列表最后,将list2中的元素按照list1中元素出现的顺序排序,即不改变原来元素顺序list2.sort(key = list1.index)此时,原创 2022-03-24 11:11:59 · 5241 阅读 · 0 评论 -
汽水瓶,字符串加解密, 整数与IP地址间的转换,统计字符
汽水瓶:while True: try: n = int(input()) if n==0: break a = n cnt=0 while n>1: a = n//3 # 此时的a是新增的可以喝的汽水瓶数 cnt+=a b = n%3 # 此时是余下的汽水瓶数 n = a+b原创 2022-03-23 10:58:06 · 308 阅读 · 0 评论 -
python float(“inf“),float(“-inf“) ,“a“,“A“,“z“,“Z“的ASCII, 进制转换:将 2进制/8进制/10进制/16进制数字符串转换成int型
float(“inf”):正无穷float("-inf"):负无穷原创 2022-03-23 10:36:09 · 862 阅读 · 0 评论 -
回溯和递归区别
最近看数据结构,发现用到了很多递归和回溯的问题,实在是不知道这两具体有啥区别,最近查了点资料,大概总结一下。为了描述问题的某一状态,必须用到该状态的上一状态,而描述上一状态,又必须用到上一状态的上一状态……这种用自已来定义自己的方法,称为递归定义。形式如 f(n) = n*f(n-1), if n=0,f(n)=1.从问题的某一种可能出发, 搜索从这种情况出发所能达到的所有可能, 当这一条路走到” 尽头 “的时候, 再倒回出发点, 从另一个可能出发, 继续搜索. 这种不断” 回溯 “寻找解的方法, 称作原创 2022-02-13 14:29:14 · 380 阅读 · 0 评论 -
Python 判断字符串、大小写转换,获取字母的ASCII值,计数counter(),找到指定元素索引index()与find()区别,s.replace(old, new, count)
文章目录一、判断字符串:二、大小写转换三、获取字母ASCII值四、str.counter(i)五、找到指定元素索引index()六、s.replace(old, new, count)一、判断字符串:s代表字符串s.isalnum() 判断字符串所有字符是否都是数字和字母组成s.isalpha() 判断字符是否都是字母s.isdigit() 判断字符是否都是数字s.islower() 判断字符是否都是小写s.isupper() 判断字符是否都是大写s.istitle()原创 2022-03-20 21:49:50 · 1953 阅读 · 0 评论 -
HJ23 删除字符串中出现次数最少的字符
我的解法,我发现想复杂了from collections import Counterwhile True: try: strs = input() cnt = Counter(strs)# cnt1 = sorted(cnt.items(),key=lambda x:x[1]) min_value = min(cnt.values()) res1 = [] for key,value in cn.原创 2022-03-20 16:40:58 · 343 阅读 · 0 评论 -
HJ4 字符串分隔
Python实现while True: try: string = input() n = len(string) # 如果小于8补齐,大于8,先把以8为一组print,之后剩下的就是用0补齐 repeat = n//8# print(repeat) while repeat>=0: if repeat==0 and string: n .原创 2022-03-19 20:23:38 · 522 阅读 · 0 评论 -
提取字符串中的所有数字并按照字典序升序排列
提取字符串中的所有数字并按照字典序升序排列eg:输入:3d50J Aa3 输出:0335while True: try: lst = list(input()) res = [] for i in lst: if i.isdigit(): res.append(i) print(res) print("".join(sorted(res))) excep原创 2022-03-19 18:11:47 · 790 阅读 · 0 评论 -
0-1背包问题python实现
不会的小伙伴可以看一下视频:https://www.bilibili.com/video/BV15B4y1P7X7/Python实现# N件物品,一个容量为V的背包N,V = map(int,input().split())weight = []val = []# 创建两个列表,分别装入第i个物品的体积wi和价值vifor _ in range(N): wi,vi = map(int,input().split()) weight.append(wi) val.app.原创 2022-03-19 17:04:31 · 4608 阅读 · 0 评论 -
Python set 计算集合的并集,交集,差集以及对称集(补集)
创建集合a =set([iterable]) # set()中可以是列表,也可以是range(n)创建两个集合a= set([1,2,3])b = set([2,3,4])并集:返回一个新的集合,包括集合a和b的所有元素a|bprint(a|b)# {1,2,3.4}交集:返回一个新的集合,包括同时在集合a和b中的共同元素a&bprint(a&b)# {2,3}差集:返回一个集合,包括在集合a(b)中但不在集合b(a)中的元素a-b / b-a原创 2022-03-08 15:46:50 · 3619 阅读 · 0 评论 -
pycharm 同一个目录下导入py文件时,模块下方出现红色波浪线时如何解决
此解决方案来自于:https://www.cnblogs.com/my-blogs-for-everone/articles/12270938.html问题如下:pycharm 同一个目录下导入py文件时,模块下方出现红色波浪线时如何解决有时候导入本地模块或者py文件时,下方会出现红色的波浪线,但不影响程序的正常运行,但是在查看源函数文件时,(例如Debug时)会出现问题解决方案:1、进入设置,找到Console下的Python Console,勾选选项“Add source roots to P原创 2022-03-07 16:55:48 · 3293 阅读 · 0 评论 -
Python如何打印出两个字母之间的字母?例如:循环打印出“a“到“z“之间的字母 ,ord()与chr()函数的使用
如何打印出两个字母之间的字母?例如:循环打印出"a"到"z"之间的字母,并返回列表首先需要知道两个函数ord(): 对应字符转ascii码chr(): ascii码转对应的字符使用上述两个函数可以实现:res = []for i in range(ord("a"),ord("z")+1): res.append(chr(i))print(res)['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n',原创 2022-03-06 15:12:59 · 2551 阅读 · 0 评论 -
Python实现找到一个列表的最长不连续子集的长度
找到一个列表的最长不连续子集的长度,什么叫做不连续的子集,定义是两个绝对值之差大于1的数组子集例如:[1,2,3,6,8,9,4,5]的最长不连续子集的长度为4,[1,3,5,8],[2,4,6,8]nums = [1,2,3,6,8,9,4,5]nums_new = sorted(nums)res = [nums_new[0]] # 把第一位放进来tail = 0while tail<len(nums)-1: tail+=1 if nums[tail]-res[-1]&原创 2022-03-06 09:54:24 · 567 阅读 · 0 评论 -
Python 快速排序思想及模板, 解决Leetcode215数组中的第K个最大元素快速排序
推荐一篇讲快速排序思想很明白的博文:https://blog.youkuaiyun.com/jiangtianjiao/article/details/88929408内容如下:基本思想选择一个基准数,通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小。然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以达到全部数据变成有序。步骤(1) 从数列中挑出一个基准值。(2) 将所有比基准值小的摆放在基准前面,所有比基准值大的摆在基准的后面(相同的原创 2022-03-04 20:05:09 · 657 阅读 · 0 评论 -
Python DFS BFS实现 Leetcode200 岛屿数量 Leetcode695岛屿的最大面积 Leetcode463 岛屿的周长 Leetcode257 二叉树的所有路径
原创 2022-03-04 19:49:54 · 666 阅读 · 0 评论 -
牛客网在线编程常见输入输出练习
ACM模式下的常见输入输出A+B(1)A+B(2)A+B(3)A+B(4)A+B(5)A+B(6)A+B(7)字符串排序(1)字符串排序(2)字符串排序(3)明天是第一次参加互联网大厂笔试机考,所以练习一下牛客网上ACM模式的常见输入和输出,防止明天出岔子A+B(1)while True: try: a,b = map(int,input().split()) print(a+b) except: breakA+B(2)while True: try: t = int(原创 2022-03-04 15:23:34 · 1140 阅读 · 0 评论 -
好理解的DP系列 Leetcode62.不同路径+Leetcode64.最小路径和
好理解的DP系列 Leetcode62.不同路径+Leetcode64.最小路径和一、不同路径二、最短路径(最小路径和)一、不同路径思路:用f(i,j)表示从左上角走到(i,j)的路径数量,其中i和j的范围分别是[0,m)和[0,n)。由于我们每一步只能向下或者向右移动一步,因此如果我们想要移动到(i,j),如果向下走一步,会从(i-1,j)移动过来,如果向右走一步,会从(i,j-1)移动过来,因此我们可以得到状态转移方程:f(i,j)=f(i-1,j)+f(i,j-1)注意: 如果i=0或者j原创 2022-03-04 14:37:28 · 427 阅读 · 0 评论 -
python Counter以及Counter().most_common(n)的使用,美团周赛 2170. 使数组变成交替数组的最少操作数
Counter()函数:Counter是dict子类,用于计数可哈希的对象。元素被作为字典的key存储,它们的计数作为字典的value存储注意:Counter()函数返回的是字典Counter().most_common([n]) 从多到少返回一个有前n多的元素的列表,即以[(元素1,次数),…,(元素n,次数)]返回出现次数前n的统计列表class Solution: def minimumOperations(self, nums: List[int]) -> int:原创 2022-03-04 10:40:53 · 931 阅读 · 0 评论 -
二维数组的花式遍历技巧 (Leetcode 旋转图像、螺旋矩阵、螺旋矩阵Ⅱ)python实现
一、旋转图像题意说的是原地旋转,所以不能构建一个列表再次存储这个matrix,只能做类似于matrix[i][j] = matrix[j][i]之类的操作,但是这不妨碍去寻找坐标i,j的变换规律,不难发现:旋转90度后的公式为:martix[i][j]->matrix[j][n-1-i]代码实现如下: n = len(matrix) # 深拷贝 matrix->tmp tmp = copy.deepcopy(matrix) # 根据元素旋转公式,遍历修改原矩阵matrix的各元素原创 2022-03-03 21:28:47 · 801 阅读 · 0 评论 -
回溯法解决全排列,全排列Ⅱ,复原 IP 地址,括号生成
一、全排列输入:nums = [1,2,3]输出:[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]] def permute(nums: List[int]) -> List[List[int]]: # 回溯加剪枝 # 合法路径保存列表 result = [] # 记录当前路径 path = [] # 回溯函数 def back原创 2022-03-03 20:58:37 · 250 阅读 · 0 评论 -
list转set:TypeError: unhashable type: “list“, 如何对二维列表去重?
对于一维列表可以直接使用set进行去重:对于二维列表直接使用set会报错TypeError: unhashable type: "list"那么针对二维列表如何去重呢?通过如下代码可以实现:lst = [[1,2,3], [1,2,3], [2,3,4], [2,3,4], [3,4,5], ]res = list(set([tuple(t) for t in lst]))res = [list(s) for s in r原创 2022-03-03 16:04:10 · 1053 阅读 · 1 评论 -
ResNet,ResNext,ShuffleNetv1分别采用的block及其FLOPs计算
ResNet的Block结构ResNext的Block结构ResNext使用的是结构(a),但其实(a),(b),©是等价的ShuffleNetv1的Block结构三种网络Block结构的FLOPs计算假设block的input size:c*h*w 并且 bottlneck的通道是m,那么三种block的Flops计算如下:ResNet:hw(1*1*c*m)+hw(3*3*m*m)+hw(1*1*m*c)=hw(2cm+9m^2)ResNext:hw(1*1*c*m)+hw(3*3原创 2022-03-01 14:08:14 · 1246 阅读 · 0 评论 -
对于字符串中既存在连续数字又存在连续字母的字符串,如何提取连续数字,Leetcode394.字符串解码
例如"2345abc",如何输出2345?s = input()num = 0for c in s: # 判断是否是数字 if c.isdigit(): # 通过此操作位数不断上升 # num = 2 # num = 2*10+3 # num = 23*10+4 # num = 234*10+5 num = num*10+int(c)print(num)Leetcode394.字符串解码本题核心思路是在栈里面每次存储两个信息(左括号前的字符串,左括号前的数字),比原创 2022-02-26 10:47:04 · 697 阅读 · 0 评论 -
Opencv库 函数
1、vc = cv2.VideoCapture(0)VideoCapture()中参数是0,表示打开笔记本的内置摄像头,参数是视频文件路径则打开视频,如vc =cv2.VideoCapture("…/test.mp4")2、ret,frame = vc.read()vc.read()按帧读取视频,ret,frame是获cap.read()方法的两个返回值。其中ret是布尔值,如果读取帧是正确的则返回True,如果文件读取到结尾,它的返回值就为False。frame就是每一帧的图像,是个三维矩阵。原创 2022-02-21 19:54:12 · 1137 阅读 · 0 评论 -
Python: 将list中的每一个str型元素转换为int型元素(一维和二维)、将找出二维列表中的最大值
例如 a=["1","2","3","4"]想要转换为 a=[1,2,3,4],有以下两种方法方法一:列表推导式a = [int(num) for num in a]方法二:map()a = list(map(int,a))针对二维列表a=[["1","2","3","4"],["4","5","6","7"]]a = [[ int(num) for num in lst ] for lst in a]...原创 2022-02-20 11:15:59 · 8759 阅读 · 0 评论 -
HJ39 判断两个IP是否属于同一子网
HJ39 判断两个IP是否属于同一子网这道题是华为2019年暑假实习生机考的一道题,这两天在网上找到的,不得不说,必须得在牛客网上多联系一下编程环境,这道题,需要注意的有一下几点:需要单独判断一下子网掩码,因为它的首和尾都有特殊规定必须是255和0,需要计算ip地址和子网掩码的与结果,与结果只有十进制可以算,所以需要将计算后的结果转换为二进制 bin(a&b),并且输入的时候,需要按照以下形式while True: try: 输入1 = input() 输入2 = input()原创 2022-02-20 10:14:19 · 1172 阅读 · 0 评论 -
Python 双指针系列(Leetcode1 两数之和 Leetcode15. 三数之和 Leetcode 31. 下一个排列)
Leetcode1 两数之和Leetcode1 两数之和,这道题逻辑应该很简单,我认为是最简单的简单题了,没什么好说的class Solution: def twoSum(self, nums: List[int], target: int) -> List[int]: result = [] n = len(nums) for i in range(n): for j in range(i+1,n):原创 2022-02-09 14:13:59 · 1064 阅读 · 0 评论 -
Python eval()函数和ast.literal_eval()的区别
原创 2022-02-08 23:00:48 · 840 阅读 · 0 评论 -
python functools.cmp_to_key()使用 Leetcode 179 最大数 剑指 Offer 45 把数组排成最小的数
python functools.cmp_to_key使用一、python3 functools.cmp_to_key二、Leetcode1、Leetcode179 最大数2、剑指 Offer 45 把数组排成最小的数一、python3 functools.cmp_to_keycmp_to_key() 排序比较方法cmp是比较的意思(compare),cmp函数在python2中使用,Python 3 为了语言的简洁性去掉了 cmp 这个参数,在 Python3 重自定义比较函数需要通过 cmp_原创 2022-02-08 22:02:37 · 1075 阅读 · 0 评论