- 博客(32)
- 收藏
- 关注
原创 轻量化神经网络总结:SqueezeNet、Xception、MobileNet v1、MobileNet v2、ShuffleNet v1、ShuffleNet v2
经典轻量化模型
2022-07-06 17:27:32
1935
原创 经典排序算法python实现
仅提供python实现与简单注释排序算法具体介绍请看:添加链接描述添加链接描述添加链接描述冒泡排序def bubbleSort(nums):S n = len(nums) k = n-1 for i in range(n-1): flag = False #指示该趟排序是否交换 for j in range(k): if nums[j] > nums[j+1]: nums[j
2022-05-21 09:28:53
698
原创 python最接近的三数之和
给定列表nums,寻找a,b,c三数使a+b+c最接近targetleetcode 16题重点在于优化以避免重复class Solution: def threeSumClosest(self, nums: List[int], target: int) -> int: nums = sorted(nums) L = len(nums) minDiff = sum(nums[:3]) - target for i in ra
2022-04-27 21:25:28
771
原创 functools.cmp_to_key() 用法实例
用于比较整数列表如[3,30,34,5,9]所能组成的最大数class Solution: def largestNumber(self, nums: List[int]) -> str: def cmp(a,b): if a+b == b+a: return 0 elif a+b > b+a: return 1 else: return -1 strs = map(str,nums
2022-04-18 22:55:20
481
原创 python主持人的调度2
BM96 主持人调度(二)方法一: 用堆模拟活动过程,堆最大长度则为所需最少主持人## 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可## 计算成功举办活动需要多少名主持人# @param n int整型 有n个活动# @param startEnd int整型二维数组 startEnd[i][0]用于表示第i个活动的开始时间,startEnd[i][1]表示第i个活动的结束时间# @return int整型from queue import PriorityQu
2022-04-17 18:10:29
942
原创 python分糖果问题
****按分数了分糖果,要求:每人至少一颗相邻两个人高分比低分要多。同分则无要求解析:本质是上坡、上坡。先后分别从左往右、从右往左遍历。****class Solution: def candy(self, arr: List[int]) -> int: # write code here num = len(arr) if num == 1: return 1 can = [1]*num
2022-04-16 21:25:27
1801
原创 torch.where():合并矩阵/返回矩阵中符合要求的元素的位置
在看模型复现代码时遇到这个函数,网上一查发现都是说合并用法。用法1,合并矩阵:有三个参数z = torch.where(condition, x, y),根据条件合并矩阵x,y得到矩阵z,z.shape=x.shape=y.shape。在某一位置若x的元素满足条件则选取x的元素作为z在该位置的元素,否则选取y的元素。import torcha = torch.randn(2,2)b = torch.randn(2,2)print("a: ",a)print("b: ",b)d = torch
2022-03-13 16:26:55
4733
原创 python按值对字典排序
推荐做法dict1= {'a':1,'b':3,'c':2}#把字典转换成列表myList = list(dict1.items()) #得到[('a', 1), ('b', 3), ('c', 2)]sortedList1 = sorted(myList, key=lambda x:x[1])#x就是dict1中的元素,x[1]为值print("L1: ",sortedList1)#或者直接传入键值对组成的列表sortedList2 = sorted(dict1.items(), key=l
2021-12-14 23:48:51
3775
原创 torchvision 加载模型/查看计算参数/更改输出层
torchvision 加载模型/查看计算参数/更改输出层import torchfrom torchvision.models import resnet18,resnet34,resnet50,vgg11_bn,inception_v3from thop import profilefrom torchsummary import summary#加载并查看参数与运算复杂度model = vgg11_bn(pretrained=False).cuda() #加载模型,未预训练input
2021-12-06 16:19:26
2060
原创 python岛屿数量
DFS的递归实现和迭代实现class Solution: def numIslands(self, grid: List[List[str]]) -> int: if grid==None or not len(grid): return 0 count = 0 for i in range(len(grid)): for j in range(len(grid[0])):
2021-11-09 23:00:33
667
原创 python二叉树中序遍历迭代法
迭代法遍历二叉树:左根右# Definition for a binary tree node.# class TreeNode:# def __init__(self, val=0, left=None, right=None):# self.val = val# self.left = left# self.right = rightclass Solution: def inorderTraversal(self, root
2021-11-05 11:57:02
593
原创 python + 相交链表
判断给定的两个链表是否相交,若相交返回交点的值解体思路:Length1 + Length2 = Length2 + Length1, 若两链表相交,则用双指针交替遍历时必然会在交点处发生第一次相遇,此时遍历的节点数<=Length1 + Length2. 所以当指针的遍历节点数大于Length1 + Length2 时,可判断没有交点# Definition for singly-linked list.# class ListNode:# def __init__(self, x)
2021-11-02 21:13:11
255
原创 python#最大回文子串#动态规划
定义dp[left][right]代表s[left:right]是否为回文子串class Solution: def longestPalindrome(self, s: str) -> str: L = len(s) if L <2: return s start = 0 maxlength = 1 sign = [] for _ in range(L):
2021-10-26 17:05:21
191
原创 python最大子序和
迭代class Solution: def maxSubArray(self, nums: List[int]) -> int: L = len(nums) if L==1: return nums[0] maxval = nums[0] for i in range(L): temp = nums[i] #子序列从第i个数开始 if temp >ma
2021-10-06 18:39:20
394
原创 python买卖股票的最好时机(动态规划)
leetcode题目:动态规划直观做法:找极值点之差再比较class Solution: def maxProfit(self, prices: List[int]) -> int: L = len(prices) if L==1: return 0 min_price = prices[0] max_profit = 0 i=0 prices.append(0)
2021-10-05 23:37:50
473
原创 python动态规划之Fibobacci数列
1简单的递归:当前值f(n)=f(n-1)+f(n-2)Class Solution(): def Fibonacci(self,n): if(n<=2): return n return self.Fibonacci(n-1) + self.Fibonacci(n-2)每一层会发生两次递归。很多计算是重复的,效率低下,n值大就会导致超时2尾递归:尾部调用递归函数,且每一层只产生一次递归从n计数到1,n每次减1,f(n-2) = f(n-1) + f(n) = b + ac
2021-10-04 11:49:54
216
原创 python第一个为1的数
list=[0,0,0,0,1,1,1…]二分查找+递归# The isBadVersion API is already defined for you.# @param version, an integer# @return an integer# def isBadVersion(version):class Solution: def firstBadVersion(self, n): """ :type n: int :rty
2021-10-02 21:37:05
431
原创 python实现归并排序
递归法class Solution(): def merge_sort(self,nums): if len(nums)==1:#列表元素个数为1,无需排序直接返回 return nums if len(nums)==2: #sort列表元素个数为2,排序后返回 if nums[0]>nums[1]: return [nums[1],nums[0]] ret
2021-10-02 20:00:28
115
原创 python合并有序数组
(升序)有序数组1长度为m+n,含m个数,有序数组2 长度为n,含n个数。要求直接在数组1上完成合并方法:从两数组尾部开始比较,比较后大的值插入数组1尾部class Solution: def merge(self, nums1: List[int], m: int, nums2: List[int], n: int) -> None: """ Do not return anything, modify nums1 in-place instead.
2021-10-02 18:37:29
531
原创 python有序数组转换平衡二叉搜索树
递归,每次取有序数组中间的数创建当前节点,同时有序数组前半用于构建当前节点的左子树,后半用于构建当前节点的右子树# Definition for a binary tree node.# class TreeNode:# def __init__(self, val=0, left=None, right=None):# self.val = val# self.left = left# self.right = rightclass S
2021-09-30 19:54:58
247
原创 python对称二叉树
方法1:用层序遍历,一层层检测是否对称方法2:递归或BFS,对应节点逐个比较,每次比较完一对节点(left,right),新增两对需比较结点(left.left,right.right),(left.right,right.left),二叉树,倍增的思想递归# Definition for a binary tree node.# class TreeNode:# def __init__(self, val=0, left=None, right=None):# se
2021-09-30 18:42:46
414
原创 python求二叉树最大深度
三种方法,作记录用1递归:在每个节点选择最大的深度+1返回(左子树或右子树的深度)# Definition for a binary tree node.# class TreeNode:# def __init__(self, val=0, left=None, right=None):# self.val = val# self.left = left# self.right = rightclass Solution: d
2021-09-29 21:58:39
1854
原创 python链表翻转
**递归倒叙赋值**递归模板def recursion(node,Nlist): if(终止条件): return (值) #逻辑处理,可能没有 Nlist = recursion(node.next,Nlist) #递归调用 #逻辑处理,可能没有 return代码class Solution: def reverseList(self, head: ListNode) -> ListNode: if not head:
2021-09-28 10:34:09
115
原创 python删除单链表倒数第n个节点
python递归class Solution: def removeNthFromEnd(self, head: ListNode, n: int) -> ListNode: pos = self.findpos(head,n) #计算head到结尾共有多少个节点 if pos == n: #需要删除头节点 return head.next return
2021-09-27 22:19:51
401
原创 求最长公共前缀
方法一,暴力破解class Solution: def longestCommonPrefix(self, strs: List[str]) -> str: i = 0 for c in strs[0]: for s in strs[1:]: if i >= len(s) or s[i] != c: if i:
2021-09-27 16:38:51
99
原创 (外观数列)python递归
(外观数列)python##递归##在数字串末尾加个‘0’作为结束标志class Solution: def countAndSay(self, n: int) -> str: if n == 1: return '1' #最底层 cas = self.countAndSay(n-1) #递归 cas_new ='' #新串 i=0 j=1 cas += '0'
2021-09-26 23:37:58
108
原创 python实现KMP算法
**python3##实现KMP算法**class Solution: def strStr(self, haystack: str, needle: str) -> int: L1 = len(haystack) L2 = len(needle) if L2 == 0: return 0 elif L1 == 0: return -1 nextp = [0]
2021-09-26 16:27:46
175
原创 intel-5300-CSI+Ubuntu 收集CSI信息
intel-5300-CSI+Ubuntu 收集CSI信息最近断断续续用了近一周的时间搭建CSI的实验环境,过程曲折。特地记录搭建过程与问题,也是我的第一篇文章。首先,虚拟机环境是无法接受到数据的,而且搭建过程中会遇到各种麻烦!!首先,现在很多笔记本自带的无线网卡为高通Atheros的而不是intel的,根据个人经验我感觉用intel网卡搭建容易、成功率更高。Atheros网卡和Intel网卡搭建过程差别很大,前者需要下载编译固定的ubuntu内核4.1.10+(没记错的话)Intel搭
2020-11-18 23:08:37
8397
10
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人