![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Python
通信程序猿
https://linzhirui1992.github.io/zhiruilin.com/
展开
-
【leetcode】枚举
题目最大三角形面积给定包含多个点的集合,从其中取三个点组成三角形,返回能组成的最大三角形的面积。示例:输入: points = [[0,0],[0,1],[1,0],[0,2],[2,0]]输出: 2解释:这五个点如下图所示。组成的橙色三角形是最大的,面积为2。注意: 3 <= points.length <= 50. 不存在重复的点。 -50 <= points[i][j] <= 50. 结果误差值在 10^-6 以内都认...转载 2020-06-10 15:57:45 · 253 阅读 · 0 评论 -
【leetcode】动态规划
动态规划(Dynamic Programming)是面试中非常常见的一种算法,可以解决很多复杂问题。核心算法:定义状态:dp[i],一个数组,具体几维根据问题定。 状态转移方程:dp[i] = best(dp[i-1], dp[i-2], ...)。 最优子结构。 递归+记忆化。动态规划的适用条件最优子结构性质。一个最优化策略的子策略一定是最优的。 无后向性。可以理解为每个状态都是过去历史状态的完整总结。 子问题的重叠性。这不是DP的必要条件,但是如果不满足,则DP相对其他算法没有优转载 2020-05-31 20:59:57 · 203 阅读 · 0 评论 -
【leetcode】树and递归
题目1【简单】路径总和给定一个二叉树和一个目标和,判断该树中是否存在根节点到叶子节点的路径,这条路径上所有节点值相加等于目标和。说明: 叶子节点是指没有子节点的节点。示例:给定如下二叉树,以及目标和 sum = 22, 5 / \ 4 8 / / \ 11 13 4 / \ \ 7 2 1返原创 2020-05-30 21:16:28 · 199 阅读 · 0 评论 -
【leetcode】链表问题
题目1【简单】环形链表给定一个链表,判断链表中是否有环。为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。示例 1:输入:head = [3,2,0,-4], pos = 1输出:true解释:链表中有一个环,其尾部连接到第二个节点。示例 2:输入:head = [1,2], pos = 0输出:true解释:链表中有一个环,其尾部连接到第一个节点。...原创 2020-05-25 11:28:21 · 213 阅读 · 0 评论 -
【leetcode】用栈的思路求解
题目1【简单】有效的括号给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效。有效字符串需满足: 左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。示例 1:输入: "()"输出: true示例 2:输入: "()[]{}"输出: true示例 3:输入: "(]"输出: false示例 4:输入: "([)]"输出: false示例 5:...原创 2020-05-23 11:45:08 · 176 阅读 · 0 评论 -
【LeetCode】利用哈希表求解
python的dict采用了哈希表,最低能在 O(1)时间内完成搜索。下面几道题就是利用dict来解答题目1【简单】存在重复元素给定一个整数数组,判断是否存在重复元素。如果任意一值在数组中出现至少两次,函数返回 true 。如果数组中每个元素都不相同,则返回 false 。示例 1:输入: [1,2,3,1]输出: true示例 2:输入: [1,2,3,4]输出: false示例 3:输入: [1,1,1,3,3,4,3,2,4,2]输出: true.原创 2020-05-23 11:27:46 · 152 阅读 · 0 评论 -
【LeetCode】反转问题
题目1【简单】整数反转给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。示例1:输入: 123输出: 321示例 2:输入: -123输出: -321示例 3:输入: 120输出: 21假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为[−231, 231− 1]。请根据这个假设,如果反转后整数溢出那么就返回 0。解答方法1:算术注意:反转后的值可能会溢出;使用 python 区摸需要考虑 负数情...原创 2020-05-20 23:12:08 · 199 阅读 · 0 评论 -
【LeetCode】斐波那契数列
题目:写一个函数,输入 n ,求斐波那契(Fibonacci)数列的第 n 项。斐波那契数列的定义如下:F(0) = 0, F(1) = 1F(N) = F(N - 1) + F(N - 2), 其中 N > 1.斐波那契数列由 0 和 1 开始,之后的斐波那契数就是由之前的两数相加而得出。答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008,请返回 1。示例 1:输入:n = 2输出:1解答:class Solutio..原创 2020-05-20 22:12:04 · 573 阅读 · 0 评论 -
python时间日期与时间戳的转换
参考:python中时间、日期、时间戳的转换原创 2020-05-21 17:44:20 · 2533 阅读 · 0 评论 -
python自定义函数的参数拟合
example:xdata是输入,ydata是输出import numpy as npimport matplotlib.pyplot as pltfrom scipy.optimize import curve_fitdef func(x, a, b, c): return a * np.exp(-b * x) + c# Define the data to be fit ...原创 2020-02-24 14:46:21 · 9739 阅读 · 0 评论 -
【图像处理】python小波变换
## 二维小波变换(一维和n维类似):# 单层变换 pywt.dwt2pywt.dwt2(data, wavelet, mode=’symmetric’, axes=(-2, -1))data: 输入的数据wavelet:小波基mode: 默认是对称的return: (cA, (cH, cV, cD))要注意返回的值,分别为低频分量,水平高频、垂直高频、对角线高频。高频的值...原创 2020-02-03 22:30:28 · 20935 阅读 · 9 评论 -
python实现logistic增长模型拟合2019-nCov确诊人数
[转自师弟的博客]背景:众志成城抗疫情。今天是2020年1月28日,2019-nCov确诊人数一直在增长趋势,如何更好的对确诊人数进行拟合和预测,需要我们用python来实现。注意,本文模型为logistic增长模型,并非最佳预测模型,只是大致预测,对之前的感染人数曲线进行拟合,以后的疫情发展情况还是需要根据实际情况得出。模型根据2020年1月28日及之前的数据进行拟合,后续可能会更新。目...转载 2020-01-29 11:08:38 · 4234 阅读 · 2 评论 -
docker打包python程序
1、程序依赖包写入requirements.txt文件requestsnumpypillowtornado2、编写Dockerfile# 拉取基础镜像FROM python:3.6.5# 设置环境变量ENV DEBIAN_FRONTEND=noninteractive# 把当前所有文件拷贝到容器的/code文件夹里,并根据requirements.txt安装pyt...原创 2020-01-09 20:21:33 · 554 阅读 · 0 评论 -
基于requests-html的python爬虫
目录requests-html基本使用- 获取网页- 获取链接- 获取元素- xlsxwriter示例- 开奖结果爬虫demo- 爬取表情包demorequests-htmlRequsts库的作者Kenneth Reitz 又开发了requests-html 用于做爬虫。requests-html 是基于现有的框架 PyQuery、Requests、lx...原创 2020-01-02 20:17:25 · 1100 阅读 · 0 评论 -
基于SIFT的特征匹配
SIFT的全称是Scale Invariant Feature Transform,尺度不变特征变换,由加拿大教授David G.Lowe提出的。SIFT特征对旋转、尺度缩放、亮度变化等保持不变性,是一种非常稳定的局部特征。具体工作原理见SIFT特征详解代码如下:# coding=utf-8import numpy as npimport cv2sift = cv2...原创 2019-12-28 21:35:08 · 880 阅读 · 0 评论 -
Talking RabbitMQ with Python and Kombu
目录What is RabbitMQ?Now On To The Code使用Python3和Kombu来建立一个生产者创建消费者这是一个系列文章里面的的第一篇。主要是关于RabbitMQ的介绍和如何使用Python和Kombu搭建起一个消息队列的系列文章。 https://medium.com/python-pandemonium/talking-to-rabbitmq-w...转载 2019-12-23 22:40:52 · 507 阅读 · 0 评论 -
Python开发规范
这是官网的开发规范(英文):https://www.python.org/dev/peps/pep-0008/这是国人整理的开发规范:https://www.jianshu.com/p/d414e90dc953使用IDE写代码时,为了保证代码的可阅读性和优雅性,通常会借助IDE的代码风格设置功能,令IDE智能完成的代码部分或者格式化输入的代码,可以按照预期的格式输出。其中有一项设置就是限制...原创 2019-11-07 19:29:51 · 183 阅读 · 0 评论 -
python任务调度之schedule
简介从最简单的例子看起:import scheduleimport time def job(): print("I'm working...") schedule.every(10).minutes.do(job)schedule.every().hour.do(job)schedule.every().day.at("10:30").do(job)schedu...转载 2019-11-07 14:00:34 · 307 阅读 · 1 评论 -
python requirements文件生成与使用
在写python程序的时候,我们经常的会下载很多的模块,当我们编写完成后,准备在其他设备上部署的时候,那么新设备上需要安装我当前环境下的所有包,如果一个个找显然是挖坑埋自己,于是乎我们可以通过pip生成一个requirements.txt的文件,在新环境中通过读取这个文件中的模块名称进行安装环境。创建requirements.txt生成requirements.txt(venv) [...转载 2019-10-24 19:35:16 · 435 阅读 · 0 评论 -
Kombu消息框架
https://kombu.readthedocs.io/en/latest/重要概念在Kombu中,有一些重要的概念需要事先了解,有的与RabbitMQ相同,也有的是RabbitMQ中没有的,下面来具体看一下。Producers: 发送消息给exchange Exchanges: 用于路由消息(消息发给exchange,exchange发给对应的queue)。路由就是比较routi...转载 2019-10-18 11:13:15 · 2334 阅读 · 0 评论 -
opencv调用caffe/tensorflow模型
我的环境配置是python 3.6.2 + opencv 3.4.5。下面是crowd counting计算人群密度图的代码。# coding:utf-8from __future__ import print_functionimport numpy as npimport pylabimport matplotlib.pyplot as pltimport cv2fr...原创 2019-04-04 18:56:23 · 4621 阅读 · 0 评论 -
【LeetCode】Jewels and Stones
题目:You're given strings J representing the types of stones that are jewels, and S representing the stones you have. Each character in S is a type of stone you have. You want to know how many of th...原创 2019-03-27 19:58:09 · 170 阅读 · 0 评论 -
【tensorflow】生成.pb文件
Saving, Freezing, Optimizing for inference, Restoring of tensorflow models在训练完tensorflow模型后,会有三个文件:model-epoch_99.data-00000-of-00001,model-epoch_99.index,model-epoch_99.meta1.tensorflowModel.ckpt...原创 2019-04-15 19:42:39 · 12260 阅读 · 3 评论 -
【Jupyter notebook】小结
技巧、快捷键原文Jupyter Notebook tips, tricks, and shortcuts:https://www.dataquest.io/blog/jupyter-notebook-tips-tricks-shortcuts/翻译 Jupyter Notebook的窍门,技巧和快捷键:https://blog.csdn.net/create115721/artic...转载 2019-04-13 16:46:31 · 165 阅读 · 0 评论 -
沙箱方式管理不同版本的python
这里记录下在linux下用沙箱方式对不同版本的python进行管理。我的linux系统信息如下图所示,ubuntu16.04种默认安装python2.7和python3.5同一个系统环境下同时存在了两种不同版本的python,采用沙箱的方式将不同版本的python放在隔离的环境中:1、安装虚拟环境sudo apt-get install python-dev python-v...原创 2019-08-13 15:19:04 · 1308 阅读 · 0 评论 -
tornado调用tensorflow模型对视频进行处理
系统环境:linux系统:ubuntu16.04tensorflow:tensorflow-1.13.1-cp35-cp35m-linux_x86_64.whlpython:3.5OpenCV:3.4.51、安装tornadosudo apt install python3-pippip3 install tornado查看版本号,安装完成2、运行官方...原创 2019-08-15 18:02:44 · 1988 阅读 · 0 评论 -
python调用C++
【参考】1、如何实现 C/C++ 与 Python 的通信?https://www.zhihu.com/question/230032132、python 调用c++处理数组和图片https://blog.csdn.net/koibiki/article/details/894784583、pybind11官网介绍https://pybind11.read...原创 2020-02-22 09:38:49 · 556 阅读 · 0 评论 -
ZeroMQ介绍
ZeroMQ概述消息队列中间件是分布式系统中重要的组件,主要解决应用解耦,异步消息,流量削锋等问题,实现高性能,高可用,可伸缩和最终一致性架构。目前使用较多的消息队列有ZeroMQ外、Rabbit MQ、Kafka MQ等。ZeroMQ是个轻量级消息内核。1、异步处理场景说明:用户注册后,需要发注册邮件和注册短信。传统的做法有两种(1)串行的方式;(2)并行方式(1)串行方式:...原创 2019-09-10 12:12:58 · 3915 阅读 · 0 评论 -
MySQL
安装所有平台的 MySQL 下载地址为:MySQL 下载。 挑选你需要的MySQL Community Server版本及对应的平台。mysql管理输入密码登录后进入终端mysql -u root -p查看数据库(注意分号结尾!!!)show databases; 创建数据库create DATABASE ARM_test;选择数据库u...原创 2019-10-05 15:03:59 · 137 阅读 · 0 评论 -
Windows上Python使用swig调用C++
安装swig和VSswig是一种可以将C++代码转换为多种脚本语言封装的工具,可以在http://www.swig.org/下载(Windows users should download swigwin-3.0.12 which includes a prebuilt executable. ),解压后将swig.exe的路径添加到环境变量path中即可使用swig。我是电脑配置是...转载 2019-03-25 18:39:10 · 1211 阅读 · 0 评论