
python
文章平均质量分 50
Jiale685
幸福并不是男子汉所该追求的
展开
-
使用scrapy爬遍百度百科,附所有源码
零、安装相关库使用conda或者pip安装scrapy安装mysql一、新建项目使用Terminal(cmd)cd到项目路径,输入如下命令scrapy startproject bdbk_2 # bdbk_2是自己起的项目名二、设计items打开项目根目录下的items文件,这里类似java下的类提前编写所需对象,做如下编辑# Define here the models for your scraped items## See documentation in:# https:原创 2021-02-01 18:16:11 · 996 阅读 · 1 评论 -
使用selenium写一个简单的爬虫登录邮箱
一、安装selenium参考:http://www.testclass.net/selenium_python/install-selenium二、浏览器驱动参考:http://www.testclass.net/selenium_python/selenium3-browser-driver三、开始编码from selenium import webdriverimport pathimport time# 因为我的电脑不能设置环境变量,所以配置临时环境变量,你已配置好,请忽略下面两行原创 2021-01-14 16:33:50 · 619 阅读 · 0 评论 -
【LeetCode】136. Single Number 解题报告(Python)
题目大意:给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。解题思路:第一次知道异或找到这个元素时还很兴奋,现在已经是老生常谈了,两个相同的元素异或后变成0,根据这个得到代码提交代码:(Runtime: 44 ms, faster than 84.55 % )class Solution: def singleNumber(self, nums: 'List[int]') -> int: res = nums[0]原创 2020-11-21 17:53:12 · 270 阅读 · 0 评论 -
【LeetCode】125. Valid Palindrome 解题报告(Python)
题目大意:验证回文字符串,忽略大小写,空格解题思路:1.全转化为小写2.左右指针标记,左要小于右,进入循环3.非字母数字直接移动指针4.左右相同,同时移动指针5.左右不同直接返回错误提交代码:(Runtime: 48 ms, faster than 69.48 % )class Solution: def isPalindrome(self, s: str) -> bool: s = s.lower() left, right = 0, le原创 2020-10-18 09:13:50 · 306 阅读 · 0 评论 -
【LeetCode】1002. Find Common Characters 解题报告(Python)
题目大意:查找多个字符串交集字母一开始我想用set求交集去做,后来发现涉及到两个‘l’时set指挥保留一个,所以就用最基本的思路做吧。解题思路:1.对于26个字母出现次数初始化为最大值2.循环这个输入列表3.对于每个单词用ascii码作为下标,记录出现次数4.取26个字母总的出现次数与当前单词出现次数的最少次提交代码:(Runtime: 56 ms, faster than 46.38 % )class Solution: def commonChars(self, A: 'Li原创 2020-10-17 17:43:02 · 272 阅读 · 1 评论 -
Python实现集合运算
一、交集L = [[1,2,3,4], [2,3,4,5], [3,4,5,6],[1,2,3,4,5,6]]P = set(L[0]).intersection(*L[1:])print(P)二、并集三、补集另外交并补,比较简单的你也可以x = set('spam') y = set(['h','a','m']) print(x, y)# 交集 print(x & y) # 并集 print(x | y)# 差集 print(x - y) {'原创 2020-10-17 17:32:15 · 409 阅读 · 0 评论 -
Python实现排列组合
https://www.cnblogs.com/xiao-apple36/p/10861830.html转载 2020-10-14 16:25:40 · 567 阅读 · 0 评论 -
crontab定时执行python文件
首先在~目录下建立python文件crontest.py#!/usr/bin/python#encoding=utf-8import osoutfileName = '/data5/outcid.txt'outfile = open(outfileName, 'w')outfile.write("This is crontab command test!") outfile.close()命令行输入crontab -e然后出现vim编辑输入*/2 * * * * python.原创 2020-09-30 11:08:08 · 1508 阅读 · 0 评论 -
【LeetCode】124. Binary Tree Maximum Path Sum 解题报告(Python)
给定一个非空二叉树,返回其最大路径和。本题中,路径被定义为一条从树中任意节点出发,达到任意节点的序列。该路径至少包含一个节点,且不一定经过根节点。示例 1:输入: [1,2,3] 1 / \ 2 3输出: 6示例 2:输入: [-10,9,20,null,null,15,7] -10 / \ 9 20 / \ 15 7 输出: 42解题思路:递归,涉及到树的题目一般采用递归的方式。首先判断左子树的和,如果是负数就返回0然后判原创 2020-07-06 15:49:08 · 642 阅读 · 0 评论 -
【LeetCode】123. Best Time to Buy and Sell Stock III 解题报告(Python)
给定一个数组,它的第 i 个元素是一支给定的股票在第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你最多可以完成 两笔 交易。注意: 你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。示例 1:输入: [3,3,5,0,0,3,1,4]输出: 6解释: 在第 4 天(股票价格 = 0)的时候买入,在第 6 天(股票价格 = 3)的时候卖出,这笔交易所能获得利润 = 3-0 = 3 。随后,在第 7 天(股票价格 = 1)的时候买入,在第 8 天 (股票价格 = 4)的时候原创 2020-07-06 00:49:32 · 569 阅读 · 0 评论 -
【LeetCode】122. Best Time to Buy and Sell Stock II 解题报告(Python)
给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。示例 1:输入: [7,1,5,3,6,4]输出: 7解释: 在第 2 天(股票价格 = 1)的时候买入,在第 3 天(股票价格 = 5)的时候卖出, 这笔交易所能获得利润 = 5-1 = 4 。随后,在第 4 天(股票价格 = 3)的时候买入,在第 5 天(股票价格 = 6原创 2020-07-05 23:23:20 · 438 阅读 · 0 评论 -
【LeetCode】121. Best Time to Buy and Sell Stock 解题报告(Python)
给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。如果你最多只允许完成一笔交易(即买入和卖出一支股票一次),设计一个算法来计算你所能获取的最大利润。注意:你不能在买入股票前卖出股票。示例 1:输入: [7,1,5,3,6,4]输出: 5解释: 在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5 。注意利润不能是 7-1 = 6, 因为卖出价格需要大于买入价格;同时,你不能在买入前卖出股票。示例 2:输入: [7原创 2020-07-05 22:45:24 · 375 阅读 · 0 评论 -
【LeetCode】120. Triangle 解题报告(Python)
给定一个三角形,找出自顶向下的最小路径和。每一步只能移动到下一行中相邻的结点上。相邻的结点 在这里指的是 下标 与 上一层结点下标 相同或者等于 上一层结点下标 + 1 的两个结点。例如,给定三角形:[[2],[3,4],[6,5,7],[4,1,8,3]]自顶向下的最小路径和为 11(即,2 + 3 + 5 + 1 = 11)。解题思路:这个题求从上到下的最小路径和,看起来可以用动态规划解决,(动态规划通常可以求解最优解,有几种结果等问题)这一题情况比较多,我们要分开考虑,并且从原创 2020-07-05 22:28:57 · 468 阅读 · 0 评论 -
【LeetCode】119. Pascal‘s Triangle II 解题报告(Python)
给定一个非负索引 k,其中 k ≤ 33,返回杨辉三角的第 k 行。在杨辉三角中,每个数是它左上方和右上方的数的和。示例:输入: 3输出: [1,3,3,1]解题思路1:这个题与【LeetCode】118. Pascal‘s Triangle 解题报告(Python)一致,可以稍稍优化一下118的算法,每次保存上一行,根据上一行计算当前行即可提交代码1:(动态规划,Runtime: 36 ms, faster than 89.08 % )class Solution: def ge原创 2020-07-05 19:35:51 · 247 阅读 · 0 评论 -
【LeetCode】118. Pascal‘s Triangle 解题报告(Python)
给定一个非负整数 numRows,生成杨辉三角的前 numRows 行。在杨辉三角中,每个数是它左上方和右上方的数的和。解题思路:可以看出来每一行除了开始和结尾的1,其他位置元素都与上一行有关,那这就让我想到了动态规划这一行的值=上一行的上一列+上一行的这一列元素,即dp[i][j] = dp[i-1][j-1] + dp[i-1][j]提交代码:(动态规划,Runtime: 40 ms, faster than 65.14 % )class Solution: def generat原创 2020-07-05 18:59:18 · 291 阅读 · 0 评论 -
【LeetCode】117. Populating Next Right Pointers in Each Node II 解题报告(Python)
给定一个二叉树struct Node {int val;Node *left;Node *right;Node *next;}填充它的每个 next 指针,让这个指针指向其下一个右侧节点。如果找不到下一个右侧节点,则将 next 指针设置为 NULL。初始状态下,所有 next 指针都被设置为 NULL。进阶:你只能使用常量级额外空间。使用递归解题也符合要求,本题中递归程序占用的栈空间不算做额外的空间复杂度。解题思路1:这一题和【LeetCode】116. Populating原创 2020-07-05 18:28:24 · 2171 阅读 · 0 评论 -
Bert入门:使用Bert运行MRPC的demo成功案例
一、tensorflow版本必须是2.0以下我的版本import sysimport numpy as npimport tensorflow as tfprint('python版本是:', sys.version)print('python路径是:', sys.executable)print('numpy版本是:', np.__version__)print('tensorflow路径是:', tf.__version__)输出如下python版本是: 3.6.10 |Anaco原创 2020-06-02 16:02:17 · 8187 阅读 · 13 评论 -
jupyter notebook 增加,删除python kernel
https://blog.csdn.net/u012956394/article/details/88914161原创 2020-06-02 11:15:30 · 266 阅读 · 0 评论 -
安装gpu的pytorch
一、直接去官方网站就行,有命令https://pytorch.org/二、关于cuda版本原创 2019-12-22 14:18:33 · 252 阅读 · 0 评论 -
python写一个地球同步卫星图动态壁纸(第三部分)
————————————————————————————————前序:系统:Windows 10IDE:PyCharmPython:3.7.4python写一个地球同步卫星图动态壁纸(第一部分)第一部分主要是下载地球同步卫星图片到本地第二部分主要是修改同步卫星图片的尺寸第一部分: https://blog.csdn.net/L141210113/article/details/10...原创 2019-10-26 11:31:30 · 2927 阅读 · 2 评论 -
python写一个地球同步卫星图动态壁纸(第二部分)
————————————————————————————————前序:系统:Windows 10IDE:PyCharmPython:3.7.4python写一个地球同步卫星图动态壁纸(第一部分)这次第一部分主要是下载地球同步卫星图片到本地————————————————————————————————一、修改图片卫星图来源有两个比较好的:1. 去除风云四号卫星图水印说明: 上...原创 2019-10-20 00:12:32 · 1127 阅读 · 0 评论 -
python写一个地球同步卫星图动态壁纸(第一部分)
————————————————————————————————前序:系统:Windows 10IDE:PyCharmPython:3.7.4python写一个地球同步卫星图动态壁纸(第一部分)这次第一部分主要是下载地球同步卫星图片到本地————————————————————————————————一、首先我们先获取地球同步卫星实时图卫星图来源有两个比较好的:1. 风云四号卫...原创 2019-10-18 14:56:25 · 2977 阅读 · 2 评论 -
Deepin(Linux)下编译安装Python-3.7
一、下载官网下载Python-3.7.3(具体版本看你的需求),链接:https://www.python.org/downloads/release/python-373/二、安装解压到任意目录sudo tar -Jxvf Python-3.7.3.tar.xz指定编译的时候用来存放程序的路径(就可以说是安装目录,我的是/usr/local/python-3.7.3)su...原创 2019-05-30 19:57:01 · 8542 阅读 · 2 评论 -
【LeetCode】114. Flatten Binary Tree to Linked List 解题报告(Python)
题目分析:给定一个二叉树,原地将它展开为链表。例如,给定二叉树将其展开为:解题思路:看其展开的顺序是类似前序遍历,但是解题还是需要思路,二叉树一般可以用递归和非递归解决(1)递归变换过程 1 / \ 2 5 / \ \ 3 4 6 1 / \ 2 5 \...原创 2019-05-29 22:47:01 · 298 阅读 · 0 评论 -
Deepin(Linux)下安装tensorflow-gpu(2019-5-28)
本文是关于tensorflow-gpu和CUDA以及cuDNN匹配安装的经验记录。前言:电脑配置deepin15.10 + gtx1070,tensorflow-gpu安装的版本是tensorflow-gpu 1.9.0,CUDA安装的版本是CUDA Toolkit 9.0,cuDNN是要与CUDA版本对应的。关于CUDA的版本不要想着下最新的,tensorflow-gpu可能并不支持(可...原创 2019-05-29 09:19:25 · 2075 阅读 · 0 评论 -
【LeetCode】113. Path Sum II 解题报告(Python)
题目分析:给定一个二叉树和一个目标和,找到所有从根节点到叶子节点路径总和等于给定目标和的路径。说明: 叶子节点是指没有子节点的节点。示例:给定如下二叉树,以及目标和 sum = 22,返回: [[5,4,11,2],[5,8,4,5]]解题思路:这一题是【LeetCode】112. Path Sum的进阶版,比上一题要稍微难一些,但是用上一题的思路可以解决。如果根节点为空,直接返回...原创 2019-05-28 22:37:07 · 299 阅读 · 0 评论 -
【LeetCode】112. Path Sum 解题报告(Python)
题目分析:给定一个二叉树和一个目标和,判断该树中是否存在根节点到叶子节点的路径,这条路径上所有节点值相加等于目标和。说明: 叶子节点是指没有子节点的节点。示例: 给定如下二叉树,以及目标和 sum = 22,返回 true, 因为存在目标和为 22 的根节点到叶子节点的路径 5->4->11->2。解题思路:根节点为空:返回Falseif not root: re...原创 2019-05-28 16:34:54 · 445 阅读 · 0 评论 -
【LeetCode】111. Minimum Depth of Binary Tree 解题报告(Python)
题目分析:给定一个二叉树,找出其最小深度。最小深度是从根节点到最近叶子节点的最短路径上的节点数量。说明: 叶子节点是指没有子节点的节点。示例:给定二叉树 [3,9,20,null,null,15,7],返回它的最小深度 2.解题思路:与【LeetCode】104. Maximum Depth of Binary Tree 一致,把【LeetCode】104. Maximum Dep...原创 2019-05-27 20:45:33 · 504 阅读 · 0 评论 -
【LeetCode】110. Balanced Binary Tree 解题报告(Python)
题目分析:给定一个二叉树,判断它是否是高度平衡的二叉树。本题中,一棵高度平衡二叉树定义为:一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过1。示例 1:给定二叉树 [3,9,20,null,null,15,7]返回 true 。示例 2:给定二叉树 [1,2,2,3,3,null,null,4,4]返回 false 。解题思路:思路一:我们在【LeetCode】104. ...原创 2019-05-26 11:36:10 · 740 阅读 · 0 评论 -
【LeetCode】109. Convert Sorted List to Binary Search Tree 解题报告(Python)
题目分析:给定一个单链表,其中的元素按升序排序,将其转换为高度平衡的二叉搜索树。本题中,一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1。示例:给定的有序链表: [-10, -3, 0, 5, 9],一个可能的答案是:[0, -3, 9, -10, null, 5], 它可以表示下面这个高度平衡二叉搜索树:解题思路:这一题继续用【LeetCode】10...原创 2019-05-25 11:28:23 · 338 阅读 · 0 评论 -
【LeetCode】108. Convert Sorted Array to Binary Search Tree 解题报告(Python)
题目分析:将一个按照升序排列的有序数组,转换为一棵高度平衡二叉搜索树。本题中,一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1。示例:给定有序数组: [-10,-3,0,5,9],一个可能的答案是:[0,-3,9,-10,null,5],它可以表示下面这个高度平衡二叉搜索树:解题思路:这一题利用二分查找与递归的思想解决,因为是把一个有序的数组转换成二叉...原创 2019-05-25 11:12:35 · 391 阅读 · 0 评论 -
【LeetCode】107. Binary Tree Level Order Traversal II 解题报告(Python)
题目分析:给定一个二叉树,返回其节点值自底向上的层次遍历。 (即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历)例如:给定二叉树 [3,9,20,null,null,15,7],返回其自底向上的层次遍历为:[[15,7], [9,20],[3]]解题思路:这一题与【LeetCode】102. Binary Tree Level Order Traversal思路相同,就是递归中序...原创 2019-05-23 19:51:47 · 336 阅读 · 0 评论 -
【LeetCode】106. Construct Binary Tree from Inorder and Postorder Traversal 解题报告(Python)
题目分析:根据一棵树的中序遍历与后序遍历构造二叉树。注意:你可以假设树中没有重复的元素。例如,给出中序遍历 inorder = [9,3,15,20,7],后序遍历 postorder = [9,15,7,20,3]。返回如下的二叉树:解题思路:这一题与105. Construct Binary Tree from Preorder and Inorder Traversal基本完全相同...原创 2019-05-23 10:33:16 · 437 阅读 · 0 评论 -
【LeetCode】105. Construct Binary Tree from Preorder and Inorder Traversal 解题报告(Python)
题目分析:根据一棵树的前序遍历与中序遍历构造二叉树。注意:你可以假设树中没有重复的元素。例如,给出:前序遍历 preorder = [3,9,20,15,7]、中序遍历 inorder = [9,3,15,20,7]。返回如下的二叉树:解题思路:这一题我们首先需要找到构造二叉树的规律:preorder: 3 9 20 15 7inorder: 9 3 15 ...原创 2019-05-22 22:04:02 · 276 阅读 · 0 评论 -
【LeetCode】104. Maximum Depth of Binary Tree 解题报告(Python)
题目分析:给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。说明: 叶子节点是指没有子节点的节点。示例:给定二叉树 [3,9,20,null,null,15,7],返回它的最大深度 3 。解题思路:这一题可以用深度遍历和广度遍历解决,深度遍历采用递归,广度遍历使用队列的思想。这一题可以说是一个非常经典的递归题目。提交代码1:(深度遍历,递归...原创 2019-05-21 16:44:21 · 566 阅读 · 3 评论 -
【LeetCode】103. Binary Tree Zigzag Level Order Traversal 解题报告(Python)
题目分析:给定一个二叉树,返回其节点值的锯齿形层次遍历。(即先从左往右,再从右往左进行下一层遍历,以此类推,层与层之间交替进行)。例如:给定二叉树 [3,9,20,null,null,15,7],返回锯齿形层次遍历如下:[[3],[20,9],[15,7]]解题思路:、这一题本质还是遍历,使用递归进行遍历。关键就是用一个变量去储存当前层数res[level].append(roo...原创 2019-05-21 11:28:53 · 967 阅读 · 0 评论 -
【LeetCode】102. Binary Tree Level Order Traversal 解题报告(Python)
题目分析:给定一个二叉树,返回其按层次遍历的节点值。 (即逐层地,从左到右访问所有节点)。例如:给定二叉树: [3,9,20,null,null,15,7],返回其层次遍历结果:[[3],[9,20],[15,7]]解题思路:这一题的本质还是遍历,使用递归进行遍历。关键就是用一个变量去储存当前层数res[level].append(root.val) 。提交代码:(递归,Runti...原创 2019-05-20 23:55:26 · 378 阅读 · 0 评论 -
【LeetCode】101. Symmetric Tree 解题报告(Python)
题目分析:给定一个二叉树,检查它是否是镜像对称的。例如,二叉树 [1,2,2,3,4,4,3] 是对称的。但是下面这个 [1,2,2,null,3,null,3] 则不是镜像对称的:解题思路:这一题的本质还是遍历,对于树的遍历可使用递归或者栈。提交代码1:(递归,Runtime: 40 ms, faster than 99.14% )class Solution: def...原创 2019-04-26 16:31:13 · 542 阅读 · 0 评论 -
【LeetCode】100. Same Tree 解题报告(Python)
题目分析:给定两个二叉树,编写一个函数来检验它们是否相同。如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。示例 1:输入:输出: true示例 2:输入:输出: false解题思路:这一题的本质还是遍历,我用的递归遍历去判断是否相同,我想栈应该也能解决,但是本题递归效率还是很高的,所以用递归解决问题。提交代码:(递归,Runtime: 36 ms, fas...原创 2019-04-25 16:18:57 · 379 阅读 · 0 评论 -
【LeetCode】99. Recover Binary Search Tree 解题报告(Python)
题目分析:二叉搜索树中的两个节点被错误地交换。请在不改变其结构的情况下,恢复这棵树。示例 1:解题思路:第一种:中序遍历将数值取出来,然后排序,然后再插入进入,使用的空间复杂度是O(n),见提交代码1。第二种:使用指针找到变动的那两个值,空间复杂度为常量见提交代码2.设置n1,n2的值用于寻找那两个点,self.n1 = TreeNode(None); self.n2 = Tree...原创 2019-04-25 16:18:36 · 396 阅读 · 0 评论