自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

轻宇的博客

evolution all the life

  • 博客(54)
  • 资源 (3)
  • 收藏
  • 关注

原创 为什么神经网络很“深”以及需要如此多的神经元

为什么神经网络很“深”以及需要如此多的神经元来自 cs231n/cs231n.github.iowhy use more layersAs an aside, in practice it is often the case that 3-layer neural networks will outperform 2-layer nets, but going even deeper (4,5,6-layer) rarely helps much more. This is in stark cont

2021-03-31 13:38:01 398

原创 归并排序

归并排序(容易错)#%%arr = [4,6,7,8,7,1,2,3]print(arr)def mergeSort(arr, lo, hi): if hi -lo <= 1: # 这里错写成 hi - lo < 1: 无法跳出递归,因为此时lo = 0, hi = 1 return mi = (lo + hi) // 2 mergeSort(arr, lo, mi) mergeSort(arr, mi, hi) B = arr[l

2020-10-10 22:45:02 155

原创 插入排序

插入排序#%%# 插入排序# 插入排序是一个对少量元素进行排序的有效算法,插入排序是稳定的# 各种插入排序,直接插入排序arr = [3,5,2,6,8,3,4]def insert_sort(arr): for i in range(1, len(arr)): for j in range(0, i): if arr[i] < arr[j]: arr[i], arr[j] = arr[j], arr[i]

2020-10-10 22:23:59 150

转载 分类任务的评价指标(转)

分类任务的评价指标(转)https://app.yinxiang.com/fx/abfee9e0-5408-4df1-8167-c08a0834ee9a

2020-10-02 10:43:41 446

原创 LRU缓冲机制

LRU缓冲机制使用有序字典class LRUCache(collections.OrderedDict): # collections.OrderedDict def __init__(self, capacity: int): super().__init__() # 初始化父类(超类) self.capacity = capacity def get(self, key: int) -> int: if key not

2020-09-27 23:44:30 201

原创 最长无的重复子串的长度

最长无的重复子串的长度## # @param arr int整型一维数组 the array# @return int整型#class Solution: def maxLength(self , arr ): # write code here fisrtprt = 0 dict1 = {} dict1[arr[0]] = 0 maxlen = 1 for i in range(1,len

2020-09-19 00:15:07 371

原创 2020-09-15最长公共子序列 与 子串

最长公共子序列class Solution: def longestCommonSubsequence(self, text1: str, text2: str) -> int: n = len(text1) m = len(text2) dp = [[0]*(m+1)for _ in range(n+1)] # print(dp) for i in range(1,n+1): for

2020-09-15 17:12:42 120

原创 二叉搜索树第K大节点和第K小节点

第K大节点dfs,中序遍历先便利右子树,再遍历左子树,如果中序遍历是升序的情况.class Solution: def kthLargest(self, root: TreeNode, k: int) -> int: def dfs(root): if not root: return dfs(root.right) if self.k == 0: return self.k

2020-09-13 17:17:29 379

原创 树的深度

bfs dfs 两种解法bfs 没有直接使用collections.deque, 而是使用了两个列表, nodelist 和 tmplist# Definition for a binary tree node.# class TreeNode:# def __init__(self, x):# self.val = x# self.left = None# self.right = Noneclass Solution:

2020-09-13 16:11:50 84

原创 寻找第K大元素

# -*- coding:utf-8 -*-class Finder: def findKth(self, a, n, K): # write code here res = None def dfs(start, end): s = start; e = end p = a[start] while s < e: while s <.

2020-09-12 16:10:34 102

原创 dfs 队列 二叉树层序遍历(牛客网题)

dfs 队列 二叉树层序遍历(牛客网题)# class TreeNode:# def __init__(self, x):# self.val = x# self.left = None# self.right = None## # @param root TreeNode类 # @return int整型二维数组#from collections import dequeclass Solution: def l

2020-09-11 23:10:57 215

原创 Python调用堆排序

Python调用堆排序,获取低k大元素没有使用题中说的快排,先试试堆排序题目描述有一个整数数组,请你根据快速排序的思路,找出数组中第K大的数。给定一个整数数组a,同时给定它的大小n和要找的K(K在1到n之间),请返回第K大的数,保证答案存在。测试样例:[1,3,5,2,2],5,3返回:2# -*- coding:utf-8 -*-import heapqclass Finder: def findKth(self, a, n, K): # write code

2020-09-11 21:32:43 227

原创 二分法查找 左闭右开,划分区间

第一题class Solution: def missingNumber(self, nums: List[int]) -> int: lo = 0 hi = len(nums) while lo < hi: mi = (lo + hi) // 2 if mi == nums[mi]: lo = mi +1 else:

2020-08-26 14:06:18 1390

原创 环形链表II 快慢指针

参考于:https://leetcode-cn.com/problems/linked-list-cycle-ii/solution/linked-list-cycle-ii-kuai-man-zhi-zhen-shuang-zhi-/注意要用距离、几何来理解这道题使用快慢指针# Definition for singly-linked list.# class ListNode:# def __init__(self, x):# self.val = x#

2020-08-25 00:45:10 173

原创 找零问题 记忆化递归 迭代解法

与背包恰好装满的问题很像,但是本题每种硬币的数量不限制,因此做法很不同,搞了半天,还是看答案搞懂的。就随便记录一下吧背包的容量每次递增一个单位,对于n类的硬币,有n种情况,每种情况都是取一枚硬币,然后求剩余容量的最少硬币数。class Solution: def coinChange(self, coins: List[int], amount: int) -> int: dp = [0]*(amount + 1) inf = float('inf').

2020-08-20 23:48:27 253

原创 前中序遍历数组转换为后序遍历数组

前中序遍历数组转换为后序遍历数组不能通过构建二叉树来做import sysstr_value = sys.stdin.readline().split()preOrder = list(map(int, str_value))str_value = sys.stdin.readline().split()inOrder = list(map(int, str_value))length = len(preOrder)def dfs(p1, p2, i1, i2): if p2-

2020-08-20 23:28:41 400

原创 打家劫舍III 多解法

打家劫舍 IIIdfs+剪枝,后续遍历,单个状态转移一开始想不出什么好的方法,就用了dfs+剪枝的方法,采用后续遍历的方式,每个节点返回这棵子树能获得的最大金额。最大金额分两种情况,当前节点偷和当前节点不偷# Definition for a binary tree node.# class TreeNode:# def __init__(self, x):# self.val = x# self.left = None# sel

2020-08-19 23:02:04 160

原创 213. 打家劫舍 II 动态规划 滚动数组

打家劫舍 II二维动态规划dp[i][0] :表示在不选第一个元素的情况下,,当到第i个元素时的最大金额dp[i][1] :表示在选择第一个数的情况下,当到第i个元素时的最大金额初始化状态:dp[0][0] = 0 # 不选第一个元素dp[0][1] = nums[0] # 选第一个元素dp[1][0] = max(dp[0][0], 0 + nums[1]) # 不选, 继承前一个dp[i-1][0]的值, 或者 前两个dp[-1][0] + nums[1] ,dp[-1][0] 可认为为

2020-08-17 22:27:34 157 1

原创 198打家劫舍 动态规划与DFS剪枝

打家劫舍动态规划解法目的是为了求最大金额,状态应该是与最大金额有关的状态转移:由于每个元素都会有两种状态,而且这两种状态和前一个元素的状态有关,因此dp数组是二维的,每个元素也需要记录两种状态dp[i][0]: 表示对第i个元素,不偷的最大金额dp[i][1]: 表示对第i个元素,偷的最大金额# 状态转移 dp[i][0] = max( dp[i-1][0], dp[i-1][1] ) # 无法确定那个大,取最大的dp[i][1] = dp[i-1][0] + nums[i]# 初始

2020-08-17 18:18:54 264

原创 leetcode309买卖股票时机与含冷冻期

不含冷冻期,动态规划解法可以不使用动态规划,但是含冷冻期的股票问题就需要了,所以先铺垫一下:这里可以对每一天定义两个状态:dp[i][0]: 表示第i天不持股的最大利益dp[i][1]: 表示第i天持股的最大利益定义状态的记号,方便理解< :表示买入股票,当第i天之前(包括第i天)买入了股票,是持股的状态> :表示卖出股票,当卖出股票时定义为不持股的状态, :表示什么都不做不持股的状态 :<,,,>,,,<,,,>,,, 可以由前一天不持股、前一天持

2020-08-15 19:00:40 118

原创 1143. 最长公共子序列

leetcode:1143. 最长公共子序列dp[i][j] 二维数组的动态规划状态转移方程是:需要注意的是,dp数组是(m+1)*(n+1), 第一行和第一列的初始状态是为0的n = len(text1)m = len(text2)(0,0)(0,1)(0,2)...(0,n)(1,0)(1,1)(1,2)......(m,0)t1 = 0if 第i个字符和第j个字符相等: t1 = dp[i-1][j-1] + 1t2 = max(dp[i-1][j], dp[i

2020-08-12 18:23:47 212

原创 手撕推排序

前 K 个高频元素class Solution: # 小根堆调整 def heapAdjust(self,L,start,end): i = start; j = 2*i; temp = L[start] while j <= end: if j < end and L[j][1] > L[j+1][1]: j = j+1 if temp[1] > .

2020-08-11 21:44:09 127

原创 动态规划与贪心-最长上升子序列

动态规划子结构为:在前i个元素中,以第i个元素结尾的最长上升子串的长度,dp[i] .最终要求的就是max(dp[0], dp[i]):前i个元素中,以某个元素结尾的最长上升子串从dp[i-1] 到dp[i] 的推导过程(转移过程): 遍历i之前的元素,nums[j] (0 <= j <= i-1) ; if nums[j] < nums[i] : dp[i] = max(dp[i] , dp[j] + 1)也就是:dp[i]=max(dp[j])+1,其中0≤j<i且num[

2020-08-11 21:32:09 280

原创 01背包问题-等分数组的几种解法

dfs 递归+ 集合去重+剪枝类似于背包问题,可以使用动态规划,也可以使用递归法,但不是直接暴力递归,否则复杂度为O(2^n), 通过使用集合去重后,复杂度降到O(n*(sum(nums)/2))class Solution: def canPartition(self, nums: List[int]) -> bool: sum1 = sum(nums) length = len(nums) # print("sum1",sum1)

2020-08-11 21:25:51 467

原创 Python中的局部变量与全局变量

如果要在函数内部,更改外部变量的值,必须先用global声明该变量为外部变量否则仍然为局部变量,这种情况下,如果赋值语句之前引用了该变量,就会报错,说你的变量在未定义之前就引用了c = 4# 正常,使用global 声明c为外部变量,可以更改外部变量的值def p(): global c # 声明c为外部变量 if c > 0: c = 5 # 这里对c进行了赋值,如果事先没有声明global c 那么c就被定义为局部变量,那么在运行时,c>0 这

2020-08-11 21:10:53 243

原创 网易笔试2020-8

网易笔试2020-8现在有n个物品,每个物品都有一个价值,现在想将这些物品分给两个人,要求这两个人分到的物品价值总和相同(个数可以不同,总价值相同即可),剩下的物品就要扔掉,现在想知道最少需要扔多少价值的物品才能满足要求分给两个人。...

2020-08-11 21:00:31 403

原创 经典01背包问题 + 状态回溯选择

经典01背包问题 + 状态回溯选择用迭代方式解决01背包问题除了返回背包能装入的最大价值外,可以再用一个二维数组记录每次选择的状态,用这一思路来跟踪每一步所做的选择,并从中回溯出一条最佳路线来。不带选择模式的信息只能获得背包能装入的最大价值N, W = 4,4wt = [4,3,1,1]val = [3000, 2000, 1500, 2000 ]# import sys# nwStr = sys.stdin.readline().strip()# N, W = list(map(int

2020-08-11 11:26:11 420

原创 哈希表-两数之和

两数之和-哈希表方法题目:给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。示例:输入[2,7,11,15] ,输出[0,1]python3:class Solution: def twoSum(self, nums: List[int], target: int) -> List[int]: hashmap={}

2020-06-15 16:03:02 544

原创 含有重复项的二分法查找c++

二分法查找有序向量二分法查找有序向量二分法查找# include <iostream>#include <vector>using namespace std;//[lr)template <typename T>int binarySearch_R(vector<T> L,T elem){ int l=0,mid,r=L.si...

2020-03-30 12:24:50 759

原创 如何理解迫于需求与压力去做一件事

兴趣与痛苦我觉得兴趣是最好的老师,如果一件事你没做好,比如你学习成绩不好,你项目没做好,你吉他弹谈的很糟糕,大概率是你兴趣不够,所以做你感兴趣的事情很重要。不感兴趣的事情千万别做,你很可能做不好的,即使做好了,很大可能是身心疲惫,痛苦的完成而已。我觉得这是有道理的。所以关键在于你对什么最感兴趣?如果你足够幸运,你有一件长时间让你废寝忘食的事情,即使打游戏,我相信你能做好。但是很多人一件也没有,最...

2019-12-12 21:01:02 318

原创 relu-sigmoid-xavier-He-初始化-偏向性-图

总结一下:relu-std=0.01-初始化-偏向性大relu-xavier-初始化-偏向性relu-He-初始化-无偏向性# -*- coding: utf-8 -*-"""Created on Tue Oct 15 11:54:48 2019@author: qy"""import numpy as npimport matplotlib.pyplot as p...

2019-10-16 10:38:51 1257

原创 BP网络-梯度下降

学习资料:初学比较懵逼,大脑的缓存不够(估计大部分人都不够),最好跟着教程动手在纸上画(算)一遍,就比较清晰了,如果我把每一细节与想法都写在纸上,一般都能解决问题.三个由易到难的资料:(都比较容易搜索到)1.吴恩达机器学习(b站)-梯度下降的某一节视频-给出一个直观但有点不清楚的过程.2.<<一文弄懂神经网络中的反向传播法>>-用实际的计算给出一个具体的反向求导过程...

2019-09-27 15:46:39 307

原创 更好的状态-心流-专注

什么是优越感优越感可能是一种本能的需求,人类千百万年的演化的选择,优越感包括了人的各种正面感受:高兴,快乐,兴奋,自傲,骄傲,引以为豪...我觉得它是一种奇特的感受,它的关键在于,感觉自己所处的状态(包括自己感受到的环境)比某些事物(包括其他人,昨日之我,昨日的环境等)更好,感觉自己的状态是一种优越的,更好的状态。优越感可以来自很多事物,就是一种感受而已,但是这种感受确实我们毕生一直在...

2019-03-30 01:15:52 280

原创 词典GoldenDict

词典GoldenDict免费的,各种平台的版本,其中包含linux版本,可以自行安装各种词典(牛津电子词典等),感觉更专业,可以定义快捷键查询粘贴板的内容,弹出一个大小可调整的窗口,窗口可以固定,方便查看.https://www.oschina.net/news/84490/goldendict-1-5-rc-2词库:开源词典:《简明增强版》和《释义比例》,简明增强版词库比较适合快速查找中文...

2019-03-16 00:38:22 6985 3

原创 ROC Curves

ROC Curvesfalse acceptancedefine :In biometrics, the instance of a security system incorrectly verifying or identifying an unauthorized(非法的) person.A false acceptance typically is considered the m...

2019-03-05 01:03:06 1660

原创 vscode cmake-tools 的作用,以及和cmake的联系

vscode cmake-tools 的作用,以及和cmake的联系camke tools 是 vscode 中的一个插件,顾明思意,它和cmake有关,他是vscode中编译工程的工具。linux中使用cmake编译工程的一般过程在Linux中,一般的构建工程是直接使用cmake,通过cmake调用cmakelist.txt文件,生成makefile文件(Generator),然后通过ma...

2018-11-15 22:36:33 25180 1

原创 opencv image 指针 像素

opencv image 指针 像素opencv 中3通道image,image中每个点包含3个值,这上个值分别是B G R例如:2x2 CV_8UC3(uchar channels=3)的图像Mat img_8UC3(2, 2, CV_8UC3, Scalar(0, 255, 255)); //初始化为(B G R)=(0, 255, 255)数据排列方式:(0,255,255)(0,...

2018-11-10 16:43:02 2314

原创 Change highlight text color in Visual Studio Code

Change highlight text coloryou can change it with your favorite color by:StepsOpen visual codeGoto file menuPreferences -&amp;amp;gt; Settingsafter open settings you will update your setting on your ri...

2018-10-20 22:12:57 525

原创 the difference of copyto() and clone() in opencv

clone :完全拷贝copyto :只是拷贝数据区重载运算符()和 = 操作都属于浅拷贝。clone()和copyto()属于深拷贝.这两者的不同在于,copyto()多了一个mask玩法,即重载函数copyTo(OutputArray m, InputArray mask)cloneMat::cloneCreates a full copy of the array and the...

2018-10-20 20:16:49 153

转载 screen窗口管理器常用操作

screen是一个可以在多个进程之间多路复用一个物理终端的窗口管理器。创建新的screen会话screen -S [screen name]Detach 会话screen –d [screen name]Reattach 会话screen –r [screen-name]查看所有的screen会话screen –ls进入screen会话后,可在会话中创...

2018-09-24 22:00:45 6281

Handbook_of_iris_recognition.pdf v2 虹膜识别手册 

The definitive work on iris recognition technology, this comprehensive handbook presents a broad overview of the state of the art in this exciting and rapidly evolving field. Revised and updated from the highly-successful original, this second edition has also been considerably expanded in scope and content, featuring four completely new chapters. Features: provides authoritative insights from an international selection of preeminent researchers from government, industry, and academia; reviews issues covering the full spectrum of the iris recognition process, from acquisition to encoding; presents surveys of topical areas, and discusses the frontiers of iris research, including cross-wavelength matching, iris template aging, and anti-spoofing; describes open source software for the iris recognition pipeline and datasets of iris images; includes new content on liveness detection, correcting off-angle iris images, subjects with eye conditions, and implementing software systems for iris recognition.

2019-03-07

基于mxnet(gluon)的ssd代码实现

基于mxnet(gluon)的ssd代码的简单实现,适合初学者,使用jupyter和Python完成的

2018-07-23

MXNET(gluon) 深度学习库

亚马逊开发的深度学习库(gluon),动手学习深度学习系列教程

2018-07-23

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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