- 博客(23)
- 资源 (1)
- 收藏
- 关注
原创 Leetcode[128]:最长连续序列
题目:代码:import numpy as npclass Solution(object): def longestConsecutive(self, nums): """ :type nums: List[int] :rtype: int """ nums = set(nums) nums = list(nums) nums.sort() print(nums
2020-09-12 17:40:18 197
原创 Leetcode[637]:二叉树的层平均值
题目:代码:class TreeNode(object): def __init__(self, x): self.val = x self.left = None self.right = Noneclass Solution(object): def averageOfLevels(self, root): ans = [root] print(ans) target = []
2020-09-12 17:37:16 327
原创 2021秋招字节跳动测试工程师 笔试
求最大子序列的和题目描述: 输入M代表原始的一个序列的长度,输入N代表代表复制M的次数,组成一个新的长序列,顺序不能改变。从新的长序列中找出连续的子序列,使得这个子序列的和最大。示例输入:N = 5 M = 3arr = [1,3,-9,2,4]输出:11其中,将arr复制3次,得到新的长序列为:[1, 3, -9, 2, 4, 1, 3, -9, 2, 4, 1, 3, -9, 2, 4]代码:class Solution: def xulie(self, N, M,
2020-09-06 17:13:38 1607
原创 感受野计算
定义: 感受野(Receptive Field),指的是神经网络中神经元“看到的”输入区域,在卷积神经网络中,感受野的定义是卷积神经网络每一层输出的特征图(feature map)上的像素点在原始图像上映射的区域大小。计算方式:lk=lk−1+[(fk−1)∗∏i=0k−1si]l_k = l_{k-1} +[(f_k - 1) * \prod_{i=0}^{k-1}s_i]lk=lk−1+[(fk−1)∗∏i=0k−1si]*其中 ,lk−1l_{k-1}lk−1为第k−1k−1k−1层
2020-08-27 00:10:00 226
原创 Leetcode[605]:种花问题(填补思想)
题目:思路:很容易想到只要符合[0,0,0]即花的左右两边都不可以种花就是可以的,但是却也存在几个特例,即[0,0,1]、[1,0,0]、[0]、[0,0]、[1,0]……这几种特殊情况。如果对这些特例分开讨论,一是代码复杂度高,二是很难覆盖所有的特殊情形。但这些特例都有一个共同点,就是包含的元素过少,左右两边不能兼顾,这时候“填补思想”就可以就完美解决了,就是在原数组的左右两边各补一个0。代码import numpy as npclass Solution: def canPlace
2020-08-22 10:55:03 198
转载 TensorRT Inference 加速原理
加速原理TensorRT对于网络结构进行了重构和优化,主要体现在以下几个方面:第一是tensorRT通过解析网络模型将网络中无用的输出层消除以减小计算。第二是对于网络结构的垂直整合,即将目前主流神经网络的conv、BN、Relu三个层融合为了一个层,例如将图1所示的常见的Inception结构重构为图2所示的网络结构。第三是对于网络的水平组合,水平组合是指将输入为相同张量和执行相同操作的层融合一起,如图2向图3的转化。第四是对于concat层,将contact层的输入直接送
2020-08-21 14:26:13 568
原创 Leetcode[524]:通过删除字母匹配到字典里最长单词
题目:代码1:class Solution: def findLongestWord(self, s, d): d.sort() res = '' max_len = 0 for word in d: a = 0 b = 0 while a < len(s) and b < len(word): if s[a] ==
2020-08-18 02:31:23 123
原创 Leetcode[680]: 验证回文字符串
题目:啥时回数?从左往右读和从右往左读是一样的叫回数思路:(1)使用双指针的方法从字符串的端和尾开始比较,若相等则左边位置加1,右边位置减1(2)若端尾不相等则删除左边的1个字符或删除右边的1个字符,变成一个新的字符串后再判断是否为回数代码:class Solution: def validPalindrome(self, s): left = 0 right = len(s) - 1 while left < right:
2020-08-17 23:40:18 185
原创 关于pop()函数
(1)列表中是表示删除最后一个元素arr = list(range(1,10))print('列表 =',arr)b = arr.pop()print('列表删除的元素:',b)print('删除后的列表:',arr)列表 = [1, 2, 3, 4, 5, 6, 7, 8, 9]列表删除的元素: 9删除后的列表: [1, 2, 3, 4, 5, 6, 7, 8](2)集合中是删除左边第一个元素set1 = set(range(1,10))print('集合 = ',se
2020-08-16 23:27:21 496
原创 Leeetcode[485]:找出数组中最长的连续 1
题目解法一:使用双指针的方法,但要考虑两种特殊的情况:全为1的情况第一个元素为1,但是后面的不全为1的情况import numpy as npclass Solution: def findMaxConsecutiveOnes(self, nums): i = 0 num = [0] if nums.count(1) == len(nums): return len(nums) for j
2020-08-16 16:17:04 332
原创 Leetcode[566]:改变矩阵维度
题目:思路:(1)遍历出矩阵中所有的元素(2)使用切片的方法重新组成一个新的矩阵代码:import numpy as npclass Solution: def matrixReshape(self, nums, r, c): row = len(nums) column = len(nums[0]) if row*column != r*c: return nums num = []
2020-08-16 14:21:07 179
原创 Leetcode[283]:把数组中的 0 移到末尾
题目:解法一:使用双指针滑动class Solution: def moveZeroes(self, nums): """ Do not return anything, modify nums in-place instead. """ i = 0 for j in range(len(nums)): if nums[j] != 0: t = nums[i]
2020-08-16 12:30:30 213
原创 Leetcode[242]:有效的字母异位词
题目:注:异位词指长度一样,包含的字母一样,每个字符出现的频率也一样,只是顺序不同提示:使用哈希表关于python的collections.Counter计算库:import collectionss = str('aasdsdffsas')result = collections.Counter(s)print(result)输出:Counter({'s': 4, 'a': 3, 'd': 2, 'f': 2})代码:import collectionsclass Solu
2020-08-16 10:29:06 87
原创 Leetcode[696]:计数二进制子串
题目:思路:(1)首先字符串计数:直接计算出每段的连续数字长度(2)只需统计相同的字符个数,遇到不同的,选择二者计数的最小值即可提示:使用双指针来统计连续数字长度代码:class Solution: def countBinarySubstrings(self, s): count = [] num = 0 i = 0 for j in range(1,len(s)): if s[i] != s[j
2020-08-16 10:14:59 166
原创 在CUDA环境中安装docker
接上篇博客目录前言一、安装docker-ce二、安装nvidia-docker前言有时我们在服务器中需要配置不同的深度学习环境来进行模型训练,特别是服务器共享时,无法在同一个环境中进行模型训练。这时安装docker,在docker里配置不同的环境即可解决这个问题,也便于管理。一、安装docker-ce1、使用apt-get 指令进行安装,不要将apt-get 指令替换为阿里源或者清华源等国内镜像,由于国内镜像源更新不到位,安装docker 时会出现bug,使用系统自带的即可。具体步骤如下所示:(
2020-08-15 17:07:55 802
原创 在Ubuntu服务器搭建CUDA环境:ubuntu18.04.4 + CUDA10.2 + Cudnn8.0.0
初始环境:ubuntu18.04.4 LTS,已经安装对应的显卡驱动,安装过程中不建议更换apt-get国内镜像源一、安装CUDA10.21、在nvidia 官网上下载对应的CUDA 版本,我们这里选择CUDA10.2 的版本,链接https://developer.nvidia.com/cuda-toolkit-archive。如图1.1 所示选择对应的系统版本和CUDA 版本下载至本地目录中,以下载到/home/einai/Downloads 为例。...
2020-08-15 11:47:24 1684
原创 COCO数据集提取自己想要的类
文章目录前言一、COCO数据集二、安装COCO-PythonAPI(pycocotools)三、类提取+Json转xml四、参考前言COCO数据集是一个很大的数据集,包括了语以分割、实例分割、目标检测等,因此它的标签就对应了几种不同的标注方式。最新的COCO2017对应了总共90个类别,但有时侯我们在做任务不需要这么多的类,只需要其中的一类或几类。本篇以提取“person”这一类的目标检测数据集为例,并将标签转化为我们通常使用的xml格式。一、COCO数据集COCO数据集官方下载,选择如下图所示进行
2020-08-15 10:31:13 7933 11
原创 python同一个类中不同函数的调用
例题:LeetCode罗马数字转整数一、python中类的编码格式示例1class Solution(): def luomashuzi(self, s): a = {'I': 1, 'V': 5, 'X': 10, 'L': 50, 'C': 100, 'D': 500, 'M': 1000} ans = 0 for i in range(Solution().strlen(s)): if i<len(s)-1
2020-08-14 01:14:52 931
原创 制作目标检测数据集
前言制作目标检测的数据集有很多,个人认为labelImg最为好用,但是有时下载的版本会出现一些小问题。现将labelImg安装包存放在百度云盘里,有需要的可自行下载,亲测好用。链接:https://pan.baidu.com/s/11z8scI2IFXVRuxfTtg-xtA提取码:432w使用方法1、下载解压后有一个文件夹“data”,进入该文件夹击“predefined_classes.txt”文件,将自己数据集的类添加进去;2、如图所示,设置自己的图片打开路径和标签保存路径,这样就不需要每
2020-08-12 15:37:08 698 1
原创 在NVIDIA Jetson计算平台中创建Tensorrt容器
当前环境:jetpack4.4DP、jetson nano注:适用于jetpack>=4.2和其他jetson开发板,如Xavier AGX、NX、TX2前言需要在jetpack4.4DP环境的Jetson开发板里安装Tensorrt的docker容器(Tensorrt基于jetpack4.4DP)。官网提供的是Dockerfile的安装方式,详情见官网。不知道NVIDIA有没有更新这个bug:拉取的基础镜像是基于X86架构,而Jetson是基于ARM架构。安装难点在于Tensorrt官网上没
2020-08-12 15:02:11 2353 6
原创 Visual Studio Code 配置C/C++
一、下载VS Code并安装1、VS Code官方下载链接https://code.visualstudio.com/Download。2、安装过程很简单,和普通软件一样,可自行百度。二、配置C/C++环境1、安装C/C++工具:如下图所示,单机左栏下方的选择,在搜索框中输入C++,选择第一个,单机“install”进行安装,等待安装完成;2、下载MinGW并添加环境变量(1)MinGW下载链接: https://sourceforge.net/projects/mingw-w64/file
2020-08-12 13:59:19 1711
原创 制作数据集时关于python处理图片的操作
关于python处理图片的操作一、跟据.txt文件的图片路径保存到另一个文件夹“./data/test/”.txt文件如下图所示代码import osimport cv2fopen=open('test.txt','r')lines=fopen.readlines()test=[]for line in lines: line = line.strip('\n') #去掉换行符 test.append(line)save_path = './data/test/'
2020-08-12 10:50:21 606
原创 关于Windows下的bug:OSError: `pydot` failed to call GraphViz.Please install GraphViz问题解决
关于Windows下的bug:OSError: pydot failed to call GraphViz.Please install GraphViz问题解决今天在家使用CPU训练时,发现pycharm报出OSError: pydot failed to call GraphViz.Please install GraphViz的错误。之后就是一波的百度操作,尝试使用了几种方法来解决,网上...
2020-03-27 11:07:53 339
windows_v1.4.0.zip
2020-08-12
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人