自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(44)
  • 收藏
  • 关注

原创 FastAPI 快速上手,FastAPI程序模版

FastAPI快速上手本文主要是分享如何快速上手fastAPI,如果读者已经有flask sanic django等框架的使用经验,那么本文应该没有太大的阅读难度。官方文档,本文会尽可能避免将文章写成官方文档。有关fastAPI 的安装直接看官方文档阶段1项目结构└── fastAPI_app └── run.pycode# fastAPI_app/run.pyfrom fastapi import FastAPIfastApp = FastAPI()@fastApp.ge

2021-05-02 01:17:29 1305 3

原创 动手实现python-web WSGI框架 Letter

Letter前言:python-web WSGI框架Letter1.01.1 实现最简单的web框架测试1.2路由前言:python-web WSGI框架参考源码 bottle.py参考书籍 《Http权威指南》一边学习一边创作,记录点点滴滴以WSGI应用程序形式编写简单HTTP服务的原理不再赘述,大致实现如下def app(environ, start_response): start_response('返回的header') return '返回的body'Letter1.01.

2020-11-21 01:17:07 454

翻译 Flask教程-第1章 hello world (翻译)

Hello World原文本文GitHub安装flask这一步可以随意,建议自己新建一个python虚拟环境python -m venv flaskenv简单的flask应用在flask官网上,它会给你一个简单的测试程序,而不是一个简单的项目。我将向您展示一个稍微复杂的示例,它将为您编写大型应用程序提供良好的基础结构。先看一下我的项目结构flaskenvmicroblog/ app/ __init__.py routes.py micr

2020-09-09 11:30:05 273

原创 python剑指offer系列-leetcode剑指offer系列专题

文章目录03. 数组中重复的数字 简单分析code04. 二维数组中的查找03. 数组中重复的数字 简单题目链接分析题目难度为简单,最直白的方法就是开辟哈希表记录访问过的数字。此题可以做到O(1)O(1)O(1),利用题目中的信息,一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。假设n为5,按照题意给定一个没有重复数字的数组index01234data31420可以看到,数据本身是索引的一个置换(题目给的信息),数据本身也可

2020-07-09 16:04:52 304

原创 加法秘密共享(Additive Secret Sharing)和加法共享上的乘法运算(mulplication on two additives shares)

文章目录Additive Secret Sharing 加法秘密共享mulplication on two additives shares 加法共享上的乘法运算Additive Secret Sharing 加法秘密共享假设数据拥有者有一个数据x,现在将x秘密共享给两个服务器A, B,服务器A随机得到⟨x⟩A\langle x \rangle^A⟨x⟩A,⟨x⟩B←x−⟨x⟩A\langle x \rangle^B \leftarrow x-\langle x \rangle^A⟨x⟩B←x−⟨x⟩A

2020-05-22 02:36:33 6742 5

原创 数据结构与算法(python实现)

文章目录列表List数组array实现定长数组链表列表Listinit[]该操作会初始化一个Pylist对象,时间复杂度为O(1)O(1)O(1)append(1)该操作会新分配4个Pylist对象来去存储,它的容量(最多能存储多少数据)是4,但长度(实际有多少数据)小于等于4,不会一次只分配一个。当存储新数据时,如果空间足够则时间复杂度O(1)O(1)O(1)当已经分配的空间不够用时,这时执行一个resize,重新分配空间(容量更大),时间复杂度退化为O(n)O(n)O(n)总的平均时间复杂

2020-05-11 03:41:14 401

原创 tensorflow2: Failed to load the native TensorFlow runtime win10安装tensorflow2.1_CPU版

文章目录安装TF2 CPUFailed to load the native TensorFlow runtime.安装TF2 CPU安装tensorflow2 CPU版,真的很简单,很简单。可还是折腾了一下午官方给的安装方法我是使用conda新建一个环境,建议python3.6,避免不必要的麻烦。conda create --name tf2_1 python=3.6conda ac...

2020-04-29 02:02:56 893

原创 python3 SQLite3

目录操作SQLite3创建表插入数据操作SQLite3创建表import sqlite3con = sqlite3.connect('first.db') # 在硬盘上创建连接cur = con.cursor() # 创建游标对象,执行sql# sql语句sql = '''create table t_person( ...

2020-04-04 00:00:02 227

原创 全连接的编码器和解码器 tensorflow1.x & keras

自编码器原理CODE原理自编码器是一种将它们的输入复制到输出的神经网络,通过将输入压缩成一种隐藏空间表示,然后再重构这种表示的输出。这种网络由编码器和解码器两种部分组成。xhr编码器:h=f(x)h = f(x)h=f(x)解码器: r=g(x)r=g(x)r=g(x)自编码器的整体是可以用函数g(f(x))=rg(f(x)) = rg(f(x))=r来描述,我们的目的是想得到rrr与...

2020-04-02 11:41:58 1166

原创 python面试题精选

python面试题精选(个人向)python基本数据类型面试题列表和元组的区别相同点差异元组拆包元组对于数据的记录负索引字典中del和pop操作有什么区别python推导式按字典中的value值进行排序一行代码展开一个二维列表python基本数据类型面试题列表和元组的区别相同点都是序列都可以存储任何数据类型可以通过索引访问差异[]创建列表,()创建元组列表是可变的,元组可变...

2020-03-25 22:50:36 648

原创 线性模型(线性回归,logistic回归)公式推导+numpy实现

目录线性模型线性回归Code分析Ridge 回归logistics回归用 NumPy 手写所有主流 ML 模型,普林斯顿博士后 David Bourgin 开源了一个非常剽悍的项目矩阵求导公式线性模型线性回归Codeclass LinearRegression: def __init__(self, fit_intercept=True): ''' ...

2020-01-05 01:41:36 863

原创 LeetCode 857 Minimum Cost to Hire K Workers(python)

目录LeetCode 857 Minimum Cost to Hire K Workers(python)分析Code欢迎一起来参与leetcode刷题项目LeetCode 857 Minimum Cost to Hire K Workers(python)分析这题给了两个限制:要求K个工人每个人的工资是成比例的,假如选择了K个工人,他们的质量为q[0]:q[1]:,...:q[k−1]...

2019-12-25 20:54:02 205

原创 python实现基本排序算法

目录排序(python)冒泡排序选择排序插入排序希尔排序归并排序快速排序堆排序计数排序排序(python)冒泡排序从序列一端开始往另一端冒泡,一次比较两个相邻的数的大小,两层循环,外层冒泡轮数,里层一次比较,时间复杂度o(n2)o(n^2)o(n2)codedef Bubble_Sort(arr: list[int]): for i in range(len(arr)...

2019-11-28 16:52:51 117

原创 LeetCode 132 Palindrome Partitioning ||

目录LeetCode 132 Palindrome Partitioning ||分析Code欢迎一起来参与leetcode刷题项目LeetCode 132 Palindrome Partitioning ||分析这是一道动态规划题,基本上需要考虑一个字符串的子字符串的题目,都能往动归上考虑(子问题)。举例子:现在假设我们有一个字符串# 长度为8abcdaaaa# 它有如下几种分法...

2019-10-31 10:53:18 140

原创 OpenCV插值算法原理

目录插值算法近邻插值法原理CODE双线性插值欢迎一起来参与leetcode刷题项目插值算法在对图像经过仿射变换(拉伸,旋转)后,图像的形状和位置发生了变化,那么变化过后的图像,每一个像素点的像素值该是多少呢??一般是通过仿射变换的逆变换计算出原来对应的像素值,例如finput(1,1)=100f_{input}(1,1)=100finput​(1,1)=100,现在把图像放大两倍那么输出图像...

2019-10-21 22:48:22 845 3

原创 LeetCode 518 Coin Change 2 (python)

目录LeetCode 518 Coin Change 2 (python)Code欢迎一起来参与leetcode刷题项目LeetCode 518 Coin Change 2 (python)这是 第322题的衍生。分析过程已经在LeetCode 322 Coing Change这里直接给出代码Codeclass Solution: def change(self, amount...

2019-10-11 22:28:10 214

原创 LeetCode 322 Coin Change (python)

目录LeetCode 322 Coin Change (python)分析状态定义状态转移Code欢迎一起来参与leetcode刷题项目LeetCode 322 Coin Change (python)分析这题本质上是一个完全背包问题,我们有给定面额的货币,用它们得到一个金额,每种面额的货币使用数量不限。很明显了,完全背包状态定义既然是背包问题,现在再来看看怎么定义状态。依然很明显。==...

2019-10-11 22:20:01 368

原创 OpenCV直方图操作

直方图操作直方图正规化计算方式直方图正规化给定输入图像Inputr,c,Ir,c∈(Imin,Imax)Input_{r,c}, I_{r,c} \in (I_{min}, I_{max})Inputr,c​,Ir,c​∈(Imin​,Imax​)得到输出图像Ouputr,c,Or,c∈(Omin,Omax)Ouput_{r,c}, O_{r,c} \in (O_{min}, O_{max}...

2019-10-07 17:06:02 205

原创 直方图均衡化原理与实现(OpenCV)

目录直方图均衡化步骤原理快速计算直方图均衡化直方图均衡化是将一幅图像的灰度直方图变平,使变换后的图像中每个灰度值的分布概率都相同。并且可以增强图像的对比度。灰度值的分布概率都相同这句话的理解,并不是每个像素值的像素个数相同,比如:像素值为90的像素点有50个、为40的像素点有30个、为41的像素点有20个。这其中像素值40和41对人的肉眼来说没有多大区别的,我们只看结果图像,40的像素点有...

2019-09-29 19:50:52 1768

原创 排序算法(python)

目录排序冒泡排序选择排序插入排序希尔排序归并排序快速排序堆排序欢迎一起来参与leetcode刷题项目排序文章中的测试代码欢迎指正冒泡排序从序列一端开始往另一端冒泡,一次比较两个相邻的数的大小,两层循环,外层冒泡轮数,里层一次比较,时间复杂度o(n2)o(n^2)o(n2)codedef Bubble_Sort(arr: list[int]): for i in ra...

2019-09-18 16:37:04 109

原创 Opencv图像滤波原理

图像滤波原理高斯滤波先看原图在opencv里调用API如下原理代码欢迎一起来参与leetcode刷题项目高斯滤波二维情况下的高斯滤波分布12πσxσyexp⁡−(x−u)2+(y−v)22σxσy\frac{1}{2\pi \sigma_x \sigma_y} \exp { -\frac{(x-u)^2 + (y-v)^2}{2\sigma_x \sigma_y} } 2πσx​σy​1​e...

2019-09-12 11:39:25 1418 1

原创 优化算法

机器学习的优化算法优化算法随机梯度下降动量法Adagrad优化算法在看线性模型的时候,我们寻找的是误差函数梯度为0 的点,更直接点的说法二次函数一阶导数为0的点。不过这只是我们在线性模型里看到的,实际上一阶导数为0 的点,可能是平面、鞍点、局部最小点、全局最小点。局部和全局都差不多了。鞍点和平面肯定是不能要的。以后再配图吧,先记笔记随机梯度下降损失函数L(θ)L(\theta)L(θ) ...

2019-09-10 01:09:33 310

原创 Tensorflow-notes1.14

Tensorflow-notes1.14tensorflow-notestensorflow 基础构造图开启session执行图Tensor神经网络欢迎一起来参与leetcode刷题项目tensorflow-notestensorflow 基础构造图tensorflow把tensor作为结点保存开启sessionsession可以运行图中所有的tensor执行图开启session运...

2019-09-06 23:59:42 243

原创 字节跳动面试题,翻转链表,LeetCode 206、92、 25

字节跳动面试题,翻转链表,LeetCode 206 92 25题目LeetCode 206codeLeetCode 92LeetCode 25欢迎一起来参与leetcode刷题项目题目最近在看面经,看到一个字节跳动的算法题,然后发现这题在leetcode里有原型,先由浅入深的写三道leetcode的题目,最后再看看原题。听说字节跳动必考链表题LeetCode 206这是一道超级简单的题目,...

2019-09-03 00:25:59 644

原创 机器学习的目标函数

目标函数-持续更新目标函数/损失函数平方损失函数交叉熵损失函数欢迎一起来参与leetcode刷题项目目标函数/损失函数持续更新在机器学习中,我们的目标就是在验证集上有更好的效果,当然了也不能过拟合平方损失函数min∑i=1m(f(xi)−yi)2min\sum_{i=1}^m (f(x_i) - y_i)^2 mini=1∑m​(f(xi​)−yi​)2交叉熵损失函数min−[yi∗l...

2019-08-31 13:42:50 718

原创 LeetCode 28 KMP next数组

目录LeetCode 28 KMP next数组KMPnext数组分析code总结欢迎一起来参与leetcode刷题项目LeetCode 28 KMP next数组这题的难度是一个easy,可能KMP算法已经人尽皆知了吧。KMP有关KMP和暴力匹配,简单对比一下S : ABCDABCABCDABCDP : ABCDABD现在发现了匹配失败暴力法:P后移一位S : ABCDABEA...

2019-08-30 21:50:31 294

原创 Otsu算法原理

目录Otsu 算法Opencv API先给出原图直接二值化Ostu手动实现Ostu欢迎一起来参与leetcode刷题项目Otsu 算法该算法就是通过直方图的特性来自动选取阈值,尤其是有的图像的灰度直方图是双峰。Opencv API先给出原图可以看到这不是灰度图像,所以记住,二值化必须是灰度图像。cv.cvtColor(img_d1, cv.COLOR_BGR2GRAY)直接二值化...

2019-08-26 23:16:26 2601 1

原创 LeetCode 212 Word Search || (python)

目录LeetCode 212 Word Search II (python)分析DFS字典树Code欢迎一起来参与leetcode刷题项目LeetCode 212 Word Search II (python)分析想必写这题的你已经写过LeetCode 79了 79的题解,没写过可以先去写79题。这题第一眼看到好像和79题没什么区别,依然是如下结构for i in range(row):...

2019-08-20 19:15:23 262

原创 LeetCode 79 Word Search (python)

目录LeetCode 79 Word Search (python)分析find(i, j, word)Code pythonCode C++欢迎一起来参与leetcode刷题项目LeetCode 79 Word Search (python)分析这题是给我们一个由字符组成的二维列表结构,叫做board,我们要做的就是判断这个board里是否包含特定的某个字符串word。值得注意的是bo...

2019-08-20 18:40:08 451

原创 LeetCode 264 Ugly NUmber ||(丑数)

目录题目预览冷静分析再次冷静分析code(python)欢迎一起来参与leetcode刷题项目题目预览这题就是让我们输出前k个丑数冷静分析虽然第263体也是丑数,但我觉得这两题没啥关系。假设你已经解出了263题,那么在分析这题时,假如没有思路,直接暴力去做。1~~~n 的每一个数都判断是不是丑数,如果是丑数就加到答案里,好像也行,主要是该题给的测试数据不大,不过该题是O(n)解法的。再次...

2019-08-02 14:32:36 119

原创 LeetCode-208-Implement Trie (python)

LeetCode-208前缀树分析这题是让我们实现一个trie树,关于trie树,这里就不重复介绍了,不难,自己查阅都知道trie树适合存储字符串,interesting和interested共用interest这个前缀,这样能节省存储空间使用的数据结构我们要知道一个节点存储了它的子节点还需要一个flag来标记它是否是一个单词这里使用python的字典结构,当然你也可以新建...

2019-07-30 10:39:25 221

原创 Leetcode 145. Binary Tree Postorder Traversal(非递归后序遍历二叉树)

Leetcode 145. Binary Tree Postorder Traversal(非递归后序遍历二叉树)原题连接分析这题的关键在于如何非递归的后序遍历二叉树关键在于 左右中 = reverse(中右左)对比分析先看看先序遍历顺序是中 左 右在递归算法里的顺序如下print(root.val)visit(root.left)visit(root.right)...

2019-07-25 10:20:19 196

原创 LeetCode-279 完全平方数(python)

分析:这是一个图论问题,0到n看作n+1图的n+1个节点1、若一个点的值加上平方数就能到另外一个点2、那么在两个点之间连一条边,且权值为1。问题变成了从0点到n点的最短距离,适合用bfs来处理'''图论问题BFS0到n看作N+1个点,若一个点的值加上一个平方数能到另外一个一点那么在两个点之间连一条边,且权值为1问题就变成了从0点到n点的最短距离'''class...

2019-04-10 16:00:02 671

原创 LeetCode-15 三数之和(python)

题目链接:三数之和分析:写过“两数之和”可以稍作思考,找到a,b,c满足a+b+c=0,就是找到a,b满足a+b=-c,这就是两数之和了,再防止重复的结果。这里给出相对通用的方案:先对数组进行排序,再前后夹逼求解,时间复杂度O(n^2)不单单是三数之和,k数之和也可以这样推广,O(max { n*logn, n^(k-1) } )直接看代码,在注释里解释,所得结果在数组中的下...

2019-02-13 18:00:32 226

原创 LeetCode-123 买股票的最佳时机 3(python)

题目链接:123 买股票的最佳时机 3 分析这个相比于前两题就要花点心思了,看题目原话“你最多可以完成 两笔 交易。注意: 你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)”,这个参考上篇博客里的1, 2, 3这个例子,执行过程依然是第一天买入,第二天卖出,收入为1,然后第二天再买入,第三天再卖出,收入为1,累计收入为2,(交易两次)。等同于第一天买入...

2019-01-21 02:34:35 655

原创 LeetCode-121/122 买股票的最佳时机 1和 2(python)

题目链接:121 买股票的最佳时机 1122 买股票的最佳时机 2 题目1:这里就不做过多分析了,简单的原则取 i < j 中的 max( a[j] - a[i] ),记住 i 一定要小于 j 。题目1代码def maxProfit(self, prices): """ :type prices: List[int] ...

2019-01-21 02:16:47 227

原创 LeetCode-120三角形最小路径和(python)

原题网址:点击打开题目 题目描述:给定一个三角形,找出自顶向下的最小路径和。每一步只能移动到下一行中相邻的结点上。例如,给定三角形:[ [2], [3,4], [6,5,7], [4,1,8,3]]自顶向下的最小路径和为 11(即,2 + 3 + 5 + 1 = 11)。说明:如果你可以只使用 O(n) 的额外空间(n 为三角形的...

2018-12-18 15:47:28 1131

原创 LeetCode-115不同的子序列(python)

原题网址:点击打开原题 题目描述:给定一个字符串 S 和一个字符串 T,计算在 S 的子序列中 T 出现的个数。一个字符串的一个子序列是指,通过删除一些(也可以不删除)字符且不干扰剩余字符相对位置所组成的新字符串。不是指连续的子序列。(例如,"ACE" 是 "ABCDE" 的一个子序列,而 "AEC" 不是)如: 输入: S = "rabbbit", T ...

2018-12-15 01:09:32 1149

原创 LeetCode-105从前序与中序遍历序列构造二叉树(python)

原题网址:点击打开题目的链接根据一棵树的前序遍历与中序遍历构造二叉树。注意:你可以假设树中没有重复的元素。例如,给出前序遍历 preorder = [3,9,20,15,7]中序遍历 inorder = [9,3,15,20,7]返回如下的二叉树: 3 / \ 9 20 / \ 15 7分析:首先我们都知道先序...

2018-11-03 12:06:50 1009

原创 Django入门(win10+python3)

Django是一个Web框架,是一套用于帮助开发交互式网站的工具建立虚拟环境要使用Django,首先要建立一个虚拟的工作环境,可以在其中安装包,并于其他python包隔离新建一个目录,以django_test为例,在终端切换到该目录输入 python -m venv zp_test,创建一个名为zp_test的虚拟环境建立虚拟环境较早的python版本,或者系统没有正确...

2018-09-05 23:59:54 670

空空如也

空空如也

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

TA关注的人

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