自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 弱监督学习综述

主要周志华老师的综述文章:A brief introduction to weakly supervised learning强烈建议大家读一下这篇文章,读这一篇文章收获很多,这里总结一下论文摘要监督学习通过讯息大量的训练样本来构建预测模型,其中每个训练样本都有一个标签来知名其真值(ground-truth),尽管现在监督学习技术已经获得了很大的成功,但是值得注意的是,在许多任务中,由于数据标注过程的成本过高,很难获得像全部真值这样的强标注信息。因此采用弱监督的机器学习技术是可取的。本文综述一些弱监督

2020-06-25 15:58:15 93

原创 高效玩转leetcode算法

目前我也正在学习中,分类整理大概各种leetcode算法题目前大概整理200道左右,在刷题过程中持续更新。小伙伴们加油一起熬过这段苦逼的时光,坚持下来,一段时间之后会发现自己已经有了很大长进了。将算法题目分门别类的进行整理,将一个题目相关的类型多做几道,熟练算法思想leetcode刷题一方面为后期的面试做准备,同时也用于学习一定的算法基础,通过刷题实训来提高自己的工程能力,本项目的代码实现均采用python实现,但是不采用python库中的函数,基本上采用算法思想实现,所以具体的语言并不重要,但是

2020-06-06 22:47:20 75

原创 目标检测文章综述

目前深度学习目标检测获得了很大的发展,主要的算法分为two-stage 与one-stage算法:two-stage:RCNN系列的文章主要是RCNN,Fast RCNN, Faster RCNN, Mask RCNN, Cascade RCNN,这一系列的文章是目标检测two-stage算法的代表,这系列的算法精度高,效果好,是一类重要的方法。Faster rcnn算法基本上奠定了rcnn系列的成熟的框架。cascade rcnn算法在目标检测的比赛中基本上是获奖必用的算法,效果是真的好。RC

2020-07-18 19:08:07 23

原创 2020-07-06-每日一题

更多python分类刷题题解代码:请参考github,博客, 知乎63. 不同路径 IIhttps://leetcode-cn.com/problems/unique-paths-ii/# 动态规划# dp[i][j]表示到达i,j的路径总数# 状态转移方程:# if obstacleGrid[i][j] == 1: dp[i][j] = 0# else:# dp[i][j] = {(dp[i-1][j] + 1) if obstacleGrid[i-1][j] ==

2020-07-06 19:05:53 26

原创 2020-07-05-每日一题

更多python分类刷题题解代码:请参考github,博客, 知乎44. 通配符匹配https://leetcode-cn.com/problems/wildcard-matching/# 动态规划# dp[i][j]表示s的前i个字符是否能与p的前j个字符匹配# 状态转移方程分为如下的几种情况:# 1、s[i] p[j]均为字母,dp[i][j] = dp[i-1][j-1] and s[i]==p[j]# 2、p[j] 为?,dp[i][j] = dp[i-1][j-1]

2020-07-05 09:49:23 47

原创 2020-07-04-每日一题

更多python分类刷题题解代码:请参考github,博客, 知乎32. 最长有效括号https://leetcode-cn.com/problems/longest-valid-parentheses/class Solution: def longestValidParentheses(self, s: str) -> int: '''直接暴力找出所有字串,然后判断是否有效(超时) ''' def valid(s):

2020-07-05 09:48:36 37

原创 2020-07-03-每日一题

更多python分类刷题题解代码:请参考github,博客, 知乎108. 将有序数组转换为二叉搜索树https://leetcode-cn.com/problems/convert-sorted-array-to-binary-search-tree/# Definition for a binary tree node.# class TreeNode:# def __init__(self, x):# self.val = x# self.left

2020-07-05 09:48:08 50

原创 2020-07-03-剑指offer(1)

更多python分类刷题题解代码:请参考github,博客, 知乎更多技术文章请点击查看剑指 Offer 09. 用两个栈实现队列剑指 Offer 03. 数组中重复的数字剑指 Offer 04. 二维数组中的查找剑指 Offer 05. 替换空格剑指 Offer 06. 从尾到头打印链表剑指 Offer 07. 重建二叉树剑指 Offer 10- I. 斐波那契数列剑指 Offer 10- II. 青蛙跳台阶问题剑指 Offer 11. 旋转数组的最小数字剑指 Offer 09.

2020-07-05 09:47:01 33

原创 2020-07-01-每日一题

更多python分类刷题题解代码:请参考github,博客, 知乎718. 最长重复子数组(medium)https://leetcode-cn.com/problems/maximum-length-of-repeated-subarray/# 动态规划# dp[i][j]表示以i为结束元素的A和以j为结束的B,的最长的公共子数组的长度# 状态转移方程# if A[i] == B[j] 则, dp[i][j] = dp[i-1][j-1] + 1# else: dp[i][j] =

2020-07-05 09:46:30 72

原创 leetcode热题100_medium(2)

leetcode热题100在之前的分类总结中已经完成了一部分,现在完成剩下的一部分问题394 字符串解码399 除法求值406 根据身高重建队列560 和为K的子数组621 任务调度器647 回文子串394 字符串解码https://leetcode-cn.com/problems/decode-string/class Solution: def decodeString(self, s: str) -> str: ''' 栈操作,栈中存

2020-06-29 21:57:10 1150

原创 pytorch从头训练自己的图像分类模型并利用flask部署模型

本文推荐一个完整的pytorch图像分类代码,轻松上手,可以实现很好的分类性能。利用pytorch实现图像分类,其中包含的densenet,resnext,mobilenet,efficientnet等图像分类网络,可以根据需要再行利用torchvision扩展其他的分类算法github代码地址:https://github.com/lxztju/pytorch_classification如果有用欢迎star利用pytorch实现图像分类,其中包含的densenet,resnext,mobilen

2020-06-28 12:21:24 104

原创 leetcode—前缀树

tire是一种 N 叉树,前缀树,字典树前缀树是N叉树的一种特殊形式。通常来说,一个前缀树是用来存储字符串的。前缀树的每一个节点代表一个字符串(前缀)。每一个节点会有多个子节点,通往不同子节点的路径上有着不同的字符。子节点代表的字符串是由节点本身的原始字符串,以及通往该子节点路径上所有的字符组成的。208 实现 Trie (前缀树)211 添加与搜索单词 - 数据结构设计421 数组中两个数的最大异或值208 实现 Trie (前缀树)https://leetcode-cn.com/prob

2020-06-26 21:02:50 41

原创 热题100_medium

leetcode热题100在之前的分类总结中已经完成了一部分,现在完成剩下的一部分问题5 最长回文子串 (medium)22 括号生成 (medium)33 搜索旋转排序数组 (medium)48 旋转图像 (medium)55 跳跃游戏 (medium)56 合并区间 (medium)96 不同的二叉搜索树 (medium)105 从前序与中序遍历序列构造二叉树 (medium)114 二叉树展开为链表 (medium)142 环形链表 II (medium)146 LRU缓存机制

2020-06-26 11:59:23 43

原创 markdown中视频图片插入

插入视频的方法(b站)其中的src内容来自b站,点击视频下方的分享,在嵌入代码部分得到<iframe src="//player.bilibili.com/player.html?aid=88205168&bvid=BV1t741157Lf&cid=150596580&page=1" scrolling="no" border="0" frameborder="no" framespacing="0" style=

2020-06-22 20:41:34 60

原创 远程使用服务器的jupyter notebook

1、在服务器端设置安装jupyter,并配置1、安装jupyter, 使用如下的命令直接安装conda install jupyter2、生成config文件jupyter notebook --generate-config3、生成密码#进入python#然后输入如下的命令from notebook.auth import passwdpasswd()#然后输入两次密码,就会得到sha1#输入两次密码#Enter password: #Verify password: #然

2020-06-22 20:36:44 95

原创 Vim 实用技巧

Vim与系统剪切板交互使用前,使用如下命令,看看自己的计算机的vim版本vim --version | grep clipboard如果出现“-clipboard”则说明系统的vim版本不支持与系统剪贴板的交互操作,需要采用如下的命令安装新的vimsudo apt install vim-gtk安装完成之后再利用代码检查一次,出现“+clipboard”,那么系统的vim没有问题。vim --version | grep clipboard在 vim中复制的代码或者文字,存储在寄存器(regi

2020-06-22 20:34:53 79

原创 tmux使用

tmux是一个开源工具,用于在一个终端窗口中运行多个终端会话。它可以减少过多的打开终端控制台,界面非常优美,而且可以在关闭终端后,程序依然可以在后台运行,个人认为比nohup和&好用tmux的安装sudo apt install tmuxtmux的基本使用技巧1、创建一个tmux会话 name为自己取的名字tmux new -s name2、退出tmux并使其在后台运行tmux attach也可以使用ctrl+b d3、列出所有的tmux会话tmux ls4、重命名tmux会

2020-06-22 20:34:20 35

原创 pycharm 远程链接服务器调试

pycharm是个很好的IDE利用python进行开发,当程序出现错误,进行调试的时候,之前都是在关键的 可能出现错误的地方,利用print来打印出,数组的维度、值等一些信息,进行分析,但这样本人感觉有点费时费力(这只是本人菜鸟这样觉得,一些编程大牛勿喷),因此选用pycharm这样的一个IDE可以进行断点调试,很方便的查看程序某些步骤的运行情况,而且pycharm利用教育邮箱在Jetbrains可以申请免费的正版pycharm,这个非常好。由于本人电脑没有强大的GPU,运行不了深度学习的程序,因而需要

2020-06-22 20:33:47 102

原创 markdown基本语法

标题# 这是一级标题## 这是二级标题### 这是三级标题#### 这是四级标题##### 这是五级标题###### 这是六级标题字体加粗需要加粗的字符左右使用两个*号裹起来斜体需要斜体的字左右使用1个*号包起来斜体加粗要倾斜和加粗的文字左右分别用三个*号包起来删除线要加删除线的文字左右分别用两个~~号包起来引用在引用的文字前加>即可。引用也可以嵌套,如加两个>>三个>>>分割线三个或者三个以上的 - 或者 * 都可以。图片![

2020-06-22 20:32:28 20

原创 linux 文件权限处理

查看文件的权限查看linux文件的权限:ls -l 文件名称查看linux文件夹的权限:ls -ld 文件夹名称(所在目录)修改权限sudo chmod 600 ××× (只有所有者有读和写的权限)sudo chmod 644 ××× (所有者有读和写的权限,组用户只有读的权限)sudo chmod 700 ××× (只有所有者有读和写以及执行的权限)sudo chmod 666 ××× (每个人都有读和写的权限)sudo chmod 777 ××× (每个人都有读和

2020-06-22 20:31:40 28

原创 linux常用命令及快捷键

linux shell快捷键Ctrl+a:光标回到命令行首。 (a:ahead)Ctrl+e:光标回到命令行尾。 (e:end)Ctrl+b:光标向行首移动一个字符。 (b:backwards)Ctrl+f:光标向行尾移动一个字符。 (f:forwards)Ctrl+u: 删除光标处到行首的字符。Ctrl+k:删除光标处到行尾的字符。Ctrl+h:向行首删除一个字符。Ctrl+d:向行尾删除一个字符。Ctrl+y::粘贴Ctrl+u,Ctrl+k,Ctrl+w删除的文本。Ctrl+p:

2020-06-22 20:30:49 47

原创 jupyter Notebook常用快捷键

Jupyter Notebook有两种不同的键盘输入模式。编辑模式允许您在单元格中键入代码或文本,并以绿色单元格边框指示。命令模式将键盘绑定到笔记本级别的命令,并由带有蓝色左边界的灰色单元格边框指示。常用命令F: 查找和替换Enter :进入编辑模式 P :打开命令面板Shift-Enter :运行单元格,选中下面的单元格 Ctrl-Enter :运行选定的单元格 Alt-Enter :运行单元格并在下面插入 Y :将单元格更改为代

2020-06-22 20:29:44 109

原创 Git入门使用教程

最近研究一下git使用,想要用最近三天的时间,来学一下git的基本应用和基本操作。毕竟会使用git与github是程序员必备的技能系列学习的主要知识,参考廖雪峰老师的git系列教程Git的安装使用linux(我主要使用的是ubuntu系统)在bash中输入git 观察是否安装git,如果显示没有安装sudo apt-get install git利用上述命令,可以安装成功git,(一般linux系统上自带都有git,如果没有自己安装)在安装完成之后,利用下边的命令进行配置git config

2020-06-22 20:28:46 27

原创 十分钟完成frp反向代理

近期由于疫情的关系得整天呆在家不能回学校, 在家没有办法使用学校服务器调试代码,只能研究一下内网穿透工具,设置反向代理。在此记录一下部署的过程。frp的简要介绍远程访问管理服务器需要一个公网的IPfrp是一款好用内网穿透工具,FRP 全名:Fast Reverse Proxy。FRP 是一个使用 Go 语言开发的高性能的反向代理应用,可以帮助您轻松地进行内网穿透,对外网提供服务。FRP 支持 TCP、UDP、HTTP、HTTPS等协议类型,并且支持 Web 服务根据域名进行路由转发。下载frpfr

2020-06-22 20:27:58 110

原创 leetcode刷题——搜索

BFS1091 Shortest Path in Binary Matrix(Medium)279 Perfect Squares (Medium)127 Word Ladder (Medium)DFS695 Max Area of Island (Medium)200 Number of Islands (Medium)547 Friend Circles (Medium)130 Surrounded Regions (Medium)417 Pacific Atlantic Water

2020-06-18 15:00:20 31

原创 leetcode刷题——分治法

241 Different Ways to Add Parentheses (Medium)95 Unique Binary Search Trees II (Medium)241 Different Ways to Add Parentheses (Medium)https://leetcode-cn.com/problems/different-ways-to-add-parentheses/class Solution: def diffWaysToCompute(self, in.

2020-06-18 14:59:44 23

原创 leetcode刷题——位运算

461 Hamming Distance (Easy)136 Single Number (Easy)268 Missing Number (Easy)260 Single Number III (Medium)190 Reverse Bits (Easy)231 Power of Two (Easy)342 Power of Four (Easy)693 Binary Number with Alternating Bits (Easy)476 Number Complement (Ea.

2020-06-18 14:59:11 23

原创 leetcode刷题——栈和队列

232 Implement Queue using Stacks (Easy)225 Implement Stack using Queues (Easy)155 Min Stack (Easy)20 Valid Parentheses (Easy)1021 Remove Outer Parentheses(easy)496 Next Greater Element(easy)503 Next Greater Element II (Medium)739 Daily Temperatures.

2020-06-18 14:58:34 33

原创 leetcode刷题——图

785 Is Graph Bipartite (Medium)207 Course Schedule (Medium)210 Course Schedule II (Medium)684 Redundant Connection (Medium)算法思想:对于有向无环图的拓扑排序(BFS)利用并查集处理连通问题785 Is Graph Bipartite (Medium)https://leetcode-cn.com/problems/is-graph-bipartite/clas.

2020-06-18 14:58:02 22

原创 leetcode刷题——链表

leetcode与链表相关问题:160 Intersection of Two Linked Lists (Easy)206 Reverse Linked List (Easy)21 Merge Two Sorted Lists (Easy)83 Remove Duplicates from Sorted List (Easy)19 Remove Nth Node From End of List (Medium)24 Swap Nodes in Pairs (Medium)445 Add

2020-06-18 14:54:14 50

原创 排序算法

本文总结常用排序算法的python代码实现:插入排序希尔排序选择排序冒泡排序堆排序归并排序快速排序计数排序桶排序基数排序插入排序第i个元素左边的元素已经排序,将第i个元素与前边的已排序序列进行比较,并交换遍历整个数组,完成排序时间复杂度:平均O(n^2), 最坏O(n^2), 最好O(n)稳定的排序算法def InsertSort(numbers): for i in range(len(numbers)

2020-06-18 14:53:09 21

原创 leetcode刷题——二分查找

二分查找用途 对于一个排序列表,在其中查找指定的元素,采用二分查找,时间复杂度为O(logN)二分查找基本代码实现思路def binarySearch(nums, target): if not nums: return l, r= 0, len(nums)-1 while l <= r: m = l + (r-l) // 2 if nums[m] == target: return m elif

2020-06-18 14:52:06 41

原创 leetcode刷题——哈希表

哈希表涉及leetcode问题:1 Two Sum (Easy)217 Contains Duplicate (Easy)594 Longest Harmonious Subsequence (Easy)128 Longest Consecutive Sequence (Hard)349 两个数组的交集(easy)350 两个数组的交集 II(easy)242 有效的字母异位词(easy)202 快乐数(easy)205 同构字符串(easy)451 根据字符出现频率排序(medium

2020-06-17 19:13:30 45

原创 leetcode刷题——动态规划-背包问题

动规以空间换取时间动态规划刷题总结以下类型及leetcode题目:背包416 分割等和子集(medium)494 目标和(medium)474 一和零(medium)322 零钱兑换(medium)518 零钱兑换 II(medium)139 单词拆分(medium)377 组合总和 Ⅳ(medium)1维写法简单总结1.如果是0-1背包,即数组中的元素不可重复使用,nums放在外循环,target在内循环,且内循环倒序;for num in nums: for i in

2020-06-17 19:13:02 43

原创 leetcode刷题——动态规划

动规以空间换取时间动态规划刷题总结以下类型及leetcode题目:斐波那契数列70 爬楼梯(easy)198 打家劫舍(easy)213 打家劫舍 II(medium)矩阵路径64 最小路径和(medium)62 不同路径(medium)数组区间303 区域和检索 - 数组不可变(easy)413 等差数列划分(medium)分割整数343 整数拆分(medium)279 完全平方数(medium)91 解码方法(medium)最长递增子序列300 最长

2020-06-17 19:12:25 36

原创 leetcode刷题——回溯

回溯法是另一种形式的暴力法,是一种很有用的方法,一般与递归相互结合,这部分的内容相对比较难以理解,使用下边的一些立体来练习这部分的内容。主要的类型:树形问题排列组合二维平面的floodfill问题经典例题:17 电话号码的字母组合(medium)93 复原IP地址(medium)131 分割回文串(medium)46 全排列(medium)47 全排列 II(medium)77 组合(medium)39 组合总和(medium)40 组合总和 II216 组合总和 III

2020-06-17 19:11:41 81

原创 leetcode刷题——二叉搜索树(BST)

二叉搜索树的特点:* 若左子树非空,则所有左子树值均小于节点的值;* 若右子树非空,则所有右子树的值均大于节点的值;二叉搜索树的中序遍历得到的数组为排序数组涉及二叉搜索树的一些leetcode问题:669 Trim a Binary Search Tree (Easy)230 Kth Smallest Element in a BST (Medium)538 Convert BST to Greater Tree (Easy)235 Lowest Common Ancestor of a

2020-06-17 19:11:13 33

原创 leetcode刷题——遍历

遍历涉及leetcode上一些树的遍历的题目:层次遍历(BFS)102 Binary Tree Level Order Traversal(medium)637 Average of Levels in Binary Tree (Easy)513 Find Bottom Left Tree Value (medium)深度优先遍历(DFS)144 Binary Tree Preorder Traversal (meidum)145 Binary Tree Postorder Trave

2020-06-17 19:10:30 36

原创 leetcode刷题——递归

递归树是一种递归结构,一般树的问题很多都可以采用递归的方式求解,要么是一棵空树,要么有一个根节点两个指针分别指向两棵树leetcode上一些涉及树与递归的问题:104 Maximum Depth of Binary Tree (Easy)110 Balanced Binary Tree (Easy)543 Diameter of Binary Tree (Easy)226 Invert Binary Tree (Easy)617 Merge Two Binary Trees (Easy)1

2020-06-17 19:09:58 28

原创 leetcode刷题——其他双指针

包含几道leetcode题目:归并有序数组(easy)最长的子序列(medium)88. 归并有序数组(easy)题目链接:https://leetcode-cn.com/problems/merge-sorted-array/解法: 三个指针(类似于首尾指针)将两个有序数组合并,必须执行in_place操作解题思路:* 设计三个指针,分别指向nums1的末尾,nums2的末尾,合成之后数组的末尾* 然后比较两个数组最大值,然后填入合成之后数组的末尾class Sol

2020-06-17 19:09:24 25

提示
确定要删除当前文章?
取消 删除