
python
GhostintheCode
来自大山深处的一名IT小学生
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
linux 下python进程查看及关闭
查看进程ps -ef |grep python关闭进程kill -9 26879linux下后台执行某个python脚本nohup python -u xxx.py > out.log 2>&1 &原创 2021-09-14 20:26:43 · 5223 阅读 · 0 评论 -
python 自带time模块 获取上个月的时间数据(其他时间以此类推)
python 自带模块 获取上个月的时间数据(其他时间以此类推)背景在处理时间序列问题的时候,有时候需要用到时间节点,网上有一部分关于arrow的教程,确实比较好用。不过在离线安装在线上环境的时候,出现以下问题,解决不了,又退回使用time模块。哪位大佬知道怎么解决告诉我一下下,python版本是3.7的如图可见。正题import time# 转换当前的时间格式time_now = time.strftime("%Y-%m-%d", time.localtime())# 以当前时间为节点原创 2021-03-25 11:41:56 · 1862 阅读 · 0 评论 -
python Dataframe 根据某一列的值来删除多行
python Dataframe 根据某一列的值来删除多行在Dataframe中,有的时候想根据某一列值来删除。方法一:你可以做负isin()索引:In [57]: dfOut[57]: a b c0 1 2 21 1 7 02 3 7 13 3 2 74 1 3 15 3 4 26 0 7 17 5 4 38 6 1 09 3 2 0In [58]: my_list = [1, 7, 8]In [59]原创 2021-03-24 10:57:47 · 3231 阅读 · 0 评论 -
如何识别pdf文档中的文字(图像识别)python
如何识别pdf文档中的文字(图像识别)直接处理pdf文档,来识别其中的文字比较困难,尝试过各种pdf的各种包,重要都是些处理格式的,或者只能读取当pdf文字可以选取的这类pdf文件,像那种扫描的pdf文档则不可以识别。处理思路就是通过讲pdf文件的每一页转化为图片,然后再讲图片的中的文字,进行识别输出。这样的整体难度降低,也比较容易实现。通过查阅资料,总结一下要点,给大伙留个参考mac安装tesseract通过查阅资料,mac安装的资料比较少,如果你是wins或linux(离线)的,可以直接查找相原创 2021-03-01 14:56:24 · 6106 阅读 · 0 评论 -
在Linux上布置定时任务跑python程序
crontab先大概了解crontab,/etc/crontab 就是crontab 的配置文件。 crontab命令详解可以查找网上资料。linux 下输入命令crontab -e# 如下* * * * * python /home/test_scan.py -> 每分钟执行一次home 目录下的python程序 test_scan.py */30 * * * * python /home/test_scan.py -> 每30分钟执行一次 test_原创 2020-12-21 20:56:42 · 705 阅读 · 0 评论 -
Python中@staticmethod和@classmethod的作用和区别
Python中@staticmethod和@classmethod的作用和区别这个文章写的通俗易懂,记录一下https://www.cnblogs.com/dogecheng/p/11441088.html原创 2020-11-09 10:45:08 · 232 阅读 · 0 评论 -
pandas DataFrame 中按条件筛选或去重后,需要重新定义index,否则会出现index错误
pandas DataFrame 中按条件筛选或去重后,需要重新定义index,否则会出现index错误看了那么多博客,真的没几个能写到点上的,查了半天,试了半天,结果就一句话搞定。test_df = test_df.reset_index(drop=True)到这里有基础的大部分就知道怎么解决的,节约大家时间。不懂的,我写一个完整的。# 主要是想通过字符串长度对df进行筛选,但是没有想到什么好的方法可以直接筛选,于是就用了个笨方法,加入了一个长度列test_df = pd.read_csv(原创 2020-08-12 15:35:33 · 1643 阅读 · 0 评论 -
Python leetcode 152. Maximum Product Subarray
class Solution(object): def maxProduct(self, nums): """ :type nums: List[int] :rtype: int """ maxval = float('-inf') imax = 1 imin = 1 for i in range(len(nums)): if nums[i]<.原创 2020-05-20 11:19:39 · 348 阅读 · 0 评论 -
Python Leetcode 155. Min Stack
Python Leetcode 155. Min Stackclass MinStack(object): def __init__(self): """ initialize your data structure here. """ self.stack = [] self.minstack = [] def push(self, x): """ :type x: i原创 2020-05-12 16:06:28 · 275 阅读 · 0 评论 -
Python Leetcode 50. Pow(x, n)
Python Leetcode 50. Pow(x, n)# 递归class Solution(object): def myPow(self, x, n): """ :type x: float :type n: int :rtype: float """ def quickmul(N): if N ==0: return 1.0原创 2020-05-12 15:40:09 · 373 阅读 · 0 评论 -
Python LeetCode 69. Sqrt(x) 二分法和牛顿迭代法
Python LeetCode 69. Sqrt(x) 二分法和牛顿迭代法二分法class Solution(object): def mySqrt(self, x): """ :type x: int :rtype: int """ l, r, result = 0, x, -1 while l <= r: mid = (l + r) // 2原创 2020-05-11 15:44:10 · 497 阅读 · 0 评论 -
Python Leetcode 221. Maximal Square 动态规划问题
Python Leetcode 221. Maximal Square 动态规划问题这种题目肯定要用动态规划,像这种矩阵类型的,那么接下来就是找递推公式。对于动态规划我也没有什么好的方法,就多做一点题吧,就有感觉了。Doneclass Solution(object): def maximalSquare(self, matrix): """ :type matrix: List[List[str]] :rtype: int原创 2020-05-09 09:32:29 · 299 阅读 · 0 评论 -
剑指offer 动态规划 斐波拉契数列 跳台阶 变态跳台阶 矩阵覆盖 Python and C++
文章目录剑指offer 动态规划 Python and C++斐波拉契数列题目描述思路pythonC++跳台阶题目描述思路pythonC++变态跳台阶题目描述思路pythonC++矩阵覆盖题目描述思路pythonC++剑指offer 动态规划 Python and C++1、斐波拉契数列2、跳台阶3、变态跳台阶4、矩阵覆盖斐波拉契数列题目描述大家都知道斐波那契数列,现在要求输入一个...原创 2020-01-16 22:57:54 · 359 阅读 · 0 评论 -
剑指offer 两个栈实现队列 Python and C++
文章目录题目描述思路做题可能出现的问题pythonC++题目描述用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。思路通过两个栈来进行,push的时候用第一个栈就好了,pop的时候,用第二个栈把第一栈中的元素都push进去。当要pop的时候就pop第二个栈的元素,当第二个栈为空的时候再把第一个栈的元素push进第二个栈的元素。做题可能出现的问题1、 注...原创 2020-01-09 17:23:08 · 203 阅读 · 0 评论 -
剑指offer 重建二叉树 Python and C++
文章目录题目描述思路做题可能出现的问题python可能出现的问题C++可能出现的问题pythonC++题目描述输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。思路1、首先需要理解前序中序后序的规则,前序是...原创 2020-01-08 18:38:08 · 198 阅读 · 0 评论 -
剑指offer 从尾到头打印链表 Python and C++
文章目录题目描述思路做题可能出现的问题pythonC++题目描述输入一个链表,按链表从尾到头的顺序返回一个ArrayList。思路利用栈这样的数据结构,可以将原来的顺序进行改变做题可能出现的问题1、python版本一般不会出现什么问题,稍微注意一下,倒序输出的表达方式。2、c++中需要灵活使用自带的一些函数,如nodes.empty(),nodes.top(),nodes.pop()...原创 2020-01-08 15:44:41 · 160 阅读 · 0 评论 -
剑指offer 替换空格 Python and C++
文章目录题目描述思路做题可能出现的问题pythonC++题目描述请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。思路思路很简单,遇到空格就替换,但是c++版本需要注意:函数没有返回值,void,这就代表你需要在原来的str上进行更改,首先遍历一边看看需要多长的长度,然后在进行替换。...原创 2020-01-08 00:06:26 · 191 阅读 · 0 评论 -
剑指offer 二维数组查找 Python and C++
文章目录题目描述思路一做题可能出现的问题pythonC++思路二题目描述在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。思路一从上面的图就可以看出,由于这个题目的特性,右上角和左下角的数有一种特性,通过和target的比较,你只有两条路可以走。在...原创 2020-01-07 13:54:11 · 200 阅读 · 0 评论 -
Python * and **到底是什么呢?(多值参数)
#多值参数定义支持多值参数的函数有时可能需要 一个函数 能够处理的参数 个数 是不确定的,这个时候,就可以使用 多值参数python 中有 两种 多值参数:参数名前增加 一个 * 可以接收 元组参数名前增加 两个 * 可以接收 字典一般在给多值参数命名时,习惯使用以下两个名字*args —— 存放 元组 参数,前面有一个 ***kwargs —— 存放 字典 参数...原创 2018-12-01 14:33:24 · 679 阅读 · 0 评论 -
python 括号字符串匹配 LeetCode No.20
Python 括号字符串匹配 LeetCode No.20思路: 主要思路也很简单,这属于栈这种数据结构的简单题。首先我们应该把括号的左半边压入栈中,当遇到右括号的时候,通过栈的pop操作,推出栈顶元素,与之配对,匹配了,就代表当前的操作是没有问题的,不匹配那就错了呗。 当然还有一种情况,当所有右括号都被匹配的时候,栈里面还有元素,那就代表,错了呗,如果完全匹配,stack中的元素应该是空的...原创 2019-07-22 11:16:56 · 1290 阅读 · 0 评论 -
Python 返回数据流中的第k大元素 LeetCode NO.703
Python 返回数据流中的第k大元素 LeetCode NO.703思路:在理解这个题目的时候,首先大家要理解,heap的概念,也就是堆是什么(在这里简单的说下,一般而言我们说的堆都是树的结构,分为最大堆和最小堆,也就是堆顶的元素是是最大值还是最小值区分的。但是不只是树来实现的,还有二项式堆,斐波拉契堆,大家可以维基百科一下,各种操作的时间复杂度)。并且一般的高级语言中,都会实现heap...原创 2019-07-22 17:10:11 · 554 阅读 · 0 评论 -
Python 三个数之和 LeetCode No.15
知识点:主要考察的是哈希表的运用。大概思路就是,固定a,c两个数字,那么b就等于-a-c,通过建立一个哈希表,记性查找,这样的就可以从暴力算法的n立方的复杂度,到n平方的复杂度。class Solution(object): def threeSum(self, nums): """ :type nums: List[int] :rtyp...原创 2019-08-05 12:45:08 · 282 阅读 · 0 评论 -
python 有效的字母异位词 Leetcode No.242
class Solution(object): def isAnagram(self, s, t): """ :type s: str :type t: str :rtype: bool """ return sorted(s) == sorted(t)原创 2019-08-05 13:09:33 · 379 阅读 · 0 评论 -
python验证二叉搜索树 LeetCode NO.98
知识点:首先要明白什么是二叉搜索树,二叉树相信大家都明白,具有搜索功能的二叉树有什么特点呢?简单来说就是,一个树的左子树的所有元素,一定比根节点小,那么右子树的所有元素,一定比根节点大。另外一个性质就是,一个正确的二叉搜索树的中序(前序,中序,后序,不知道的可以复习一下),一定是一个递增序列。那么就有两种方法了,一个是递归,一个就是中序输出,判断前一个是不是比后一个要小。#第一种写法就是,把所...原创 2019-08-05 14:26:21 · 347 阅读 · 0 评论 -
python 二叉树前序,中序,后序遍历 LeetCode No.144, No.94,No.145
这题和98基本上是一模一样,所以写98题之后,顺便写了97题,刚好想用一行写完,就有了下面的写法。大家以后写的时候可以多试试,有很大的成就感,而且为枯燥的刷题生活,增添一点乐趣。今天暂时先写个中序遍历吧,等过几天在写个前序和中序,还有ass要做,哭ing。# Definition for a binary tree node.# class TreeNode(object):# d...原创 2019-08-05 14:45:08 · 257 阅读 · 0 评论 -
python 最近公共祖先在二叉树中和在二叉搜索树中 LeetCode No.236 No.235
思路:通过递归的思路写这道题就非常容易,想象一下某一个状态,p,q 分别在root的两边,那代表什么?是不是代表,p,q是在root点分开的。那我们就找到了这个点。那再想象一下,如果p,q都在同一边,那我们就去找边找,比如,p,q都在左子树,那么我们就把根节点左子树传下去,右边同理。# Definition for a binary tree node.# class TreeNode(ob...原创 2019-08-08 12:39:58 · 224 阅读 · 0 评论 -
Python pow(x,n) Leetcode NO.50 分而治之
Python pow(x,n) Leetcode NO.50 分而治之class Solution(object): def myPow(self, x, n): """ :type x: float :type n: int :rtype: float """ if n == 0: ...原创 2019-08-31 09:23:51 · 266 阅读 · 0 评论 -
python 求众数 LeetCode N0.169
python 求众数 LeetCode N0.169class Solution(object): def majorityElement(self, nums): """ :type nums: List[int] :rtype: int """ count = 0 candidate = ...原创 2019-08-31 13:26:07 · 335 阅读 · 0 评论 -
python 买卖股票的最佳时机 LeetCode No.122
python 买卖股票的最佳时机 LeetCode No.122解法:一、暴力解法二、贪心算法:由于不限制买卖次数,也没有交易费用,就可以是用贪心算法。思路:只要第二天比前一天高,我们就买进,第二天卖掉,就可以赚钱。三、动态规划:根据算法导论这本最权威的书(最难读的一本书)中提到动态规划的四个步骤,第一刻画一个最优解的结构特征,第二递归地定义最优解的值,第三计算最优解的值,通常采用自低向...原创 2019-08-31 14:09:26 · 386 阅读 · 0 评论 -
python BFS和DFS LeetCode NO.102
python BFS和DFS LeetCodeBFS主要用队列来实现,DFS主要用栈来实现#BFS模版def BFS(graph,start,end): visited,quene = set(),[start] visited.add(start) while queue: node =quenue.pop() visited.add(node) process(node...原创 2019-08-31 16:56:36 · 456 阅读 · 0 评论 -
python 最大深度最小深度 LeetCode 104,111
python 最大深度最小深度 LeetCode 104,111解法:1、BFS:寻找最大深度的时候,很容易想到就是,可以直接进行层次遍历,当无法在进行遍历下去的时候就是最深的深度;当寻找最小深度的时候,对每一个节点检查它是否是叶子节点,也就是检查它是否有左子树和右子树。2、DFS:每次进行遍历的时候,要判断是否是叶子节点,更新max深度的值和min深度的值。BFS版本# Defi...原创 2019-09-02 16:42:17 · 314 阅读 · 0 评论 -
Python 生成括号 LeetCode 22
解法:1、n代表的是左括号和右括号的个数,最后生成的字符串的长度为2n,首先想到的就是枚举的方法,假设有2n的数组,每一个格子都有两种情况,填做括号还是右括号。2、很明显上面的方法是不符合常理的,因为做括号和右括号都是有限制,当n为3的时候,不会出现((((((的情况,所以当我们进行递归的时候,就需要进行判断,当左括号用完的时候就要停止,称为剪枝。3、动态规划解法,当看到有和没有,放和不放的...原创 2019-09-03 14:28:46 · 433 阅读 · 0 评论 -
python 无重复字符的最长子串 Leetcode No.3
python 无重复字符的最长子串 Leetcode No.3题意刚开始看到这个题目的是,下意识觉得会用动态规划写,动态规划有个经典题目,就是求两个字符串的公共最长子序列,感觉很像。anyway,哈哈哈哈。思路:第一种暴力解法,不说了第二种滑动窗口,先尝试选取一个合适的滑动窗口的大小,比如第一个例子中初步定下来是abc然后我们就往里面加后续的字母,比如往abc的滑动窗口中加入a,会发...原创 2019-07-22 11:14:29 · 333 阅读 · 0 评论 -
Python返回滑动窗口中的最大值 LeetCode NO.239
之前博客写过一道关于大顶堆小顶堆的优先队列,Python 返回数据流中的第k大元素 LeetCode NO.703。这题也可以用这种方法很好的求解。思路:我们可以来维护k大小的大顶堆。这个堆顶的元素就是最大值。可以想到我们对堆进行就可以得最后的结果。举个栗子原创 2019-07-25 12:48:11 · 515 阅读 · 0 评论 -
Python字符串转换整数 (atoi)
题目:实现 atoi,将字符串转为整数。提示:仔细考虑所有输入情况。如果你想挑战自己,请不要看下面并自己考虑所有可能的输入情况。说明:这题解释的比较模糊(即没有指定输入格式)。你得事先汇集所有的输入情况。atoi的要求:这个函数需要丢弃之前的空白字符,直到找到第一个非空白字符。之后从这个字符开始,选取一个可选的正号或负号后面跟随尽可能多的数字,并将其解释为数字的值。字符串可以在形成...原创 2020-01-06 13:36:42 · 7244 阅读 · 0 评论 -
Python多任务介绍和概念
多任务介绍现实生活中有很多的场景中的事情是同时进行的,比如开车的时候 手和脚共同来驾驶汽车,再比如唱歌跳舞也是同时进行的;试想,如果把唱歌和跳舞这2件事情分开依次完成的话,估计就没有那么好的效果了(想一下场景:先唱歌,然后在跳舞,O(∩_∩)O哈哈~)程序中如下程序,来模拟“唱歌跳舞”这件事情#coding=utf-8from time import sleepdef sin...原创 2018-12-13 12:41:29 · 603 阅读 · 0 评论 -
Python If-else 多种写法让你看懂大佬代码
Python If-else 多种写法让你看懂大佬代码第一种:普通写法a, b, c = 1, 2, 3if a>b: c = aelse: c = b第二种:常见一行表达式为真时放if前a, b, c = 1, 2, 3c = a if a >b else b第三种:二维列表a, b, c = 1, 2, 3c = [b,a][a &...原创 2018-12-06 13:49:57 · 4562 阅读 · 1 评论 -
Python寻找两个有序数组的中位数
Python寻找两个有序数组的中位数审题:找出意味着这是一个查找算法题算法复杂度log级别,就是提示你是二分查找二分查找实现一般为递归(1)递归包括递归体(2)终止条件思路:定理:有序数组中有一半的元素小于等于数组的中位数,有一半的元素大于等于中位数(如果数组中元素个数是奇数,那么这里的一半并不是严格意义的1/2)如果我们去掉其中一个数组比中位数小的k个数,再去掉另一个...原创 2018-12-03 20:15:04 · 2495 阅读 · 0 评论 -
Python 游戏开发---Pygame 快速入门
Python 游戏开发之飞机大战(一)目标强化面向对象程序设计体验使用pygame模块进行游戏开发实战步骤pygame快速体验飞机大战实战确认模块–pygamepygame就是一个python 模块,专为电子游戏设计官方网站:https//www.pygame.org/ps:要学习第三方模块,通常最好的参考资料就在官方网站GettingStarted:在各平台安装模...原创 2018-12-08 16:20:11 · 7135 阅读 · 0 评论 -
python 两数之和
两数之和 python实现解法1不用说耗时长,复杂度O(n2)O(n^2)O(n2)class Solution: def twoSum(self, nums, target): &quot;&quot;&quot; :type nums: List[int] :type target: int :rtype: List[int] ...原创 2018-12-03 09:47:22 · 811 阅读 · 0 评论