Python笔记
日常算法等笔记
Love And Program
坚持是我的信念,不甘是我的动力,动力驱使,信念支撑,未来会发生什么呢?
展开
-
序列化与反序列化算法学习
前言 序列化、反序列化,好家伙,又是新名词,蒙在电脑逄半小时,序列化还能理解,就是把它输出呗,但我没想到序列化是以字符串输出,谨记算法剑指 Offer 37. 序列化二叉树请实现两个函数,分别用来序列化和反序列化二叉树。 你需要设计一个算法来实现二叉树的序列化与反序列化。这里不限定你的序列 / 反序列化算法执行逻辑,你只需要保证一个二叉树可以被序列化为一个字符串并且将这个字符串反序列化为原始的树结构。输入:root = [1,2,3,null,null,4,5]输出原创 2022-03-22 00:11:08 · 484 阅读 · 2 评论 -
学习贪心算法提升篇
贪心算法前言贪心算法是什么贪心算法的应用总结力扣题汇总前言 最近贪心算法苦恼很久,这个可恶的局部最优解,真是伤透我心啊。所以我决定好好的全面了解他,对自己在贪心这块不会再出现错误,没错,我就是这么贪🤩🤩。贪心算法是什么 贪心算法(又称贪婪算法)是指:在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,算法得到的是在某种意义上的局部最优解 。贪心算法不是对所有问题都能得到整体最优解,关键是贪心策略的选择。(摘自百度百科)原创 2022-03-19 22:24:46 · 523 阅读 · 0 评论 -
一道‘简单的‘乘法题
[给定一个数组 A\[0,1,…,n-1\],请构建一个数组 B\[0,1,…,n-1\],其中 B\[i\] 的值是数组 A 中除了下标 i 以外的元素的积, 即 B\[i\]=A\[0\]×A\[1\]×…×A\[i-1\]×A\[i+1\]×…×A\[n-1\]。不能使用除法。](https://leetcode-cn.com/problems/gou-jian-cheng-ji-shu-zu-lcof)来源:力扣(LeetCode)第一眼,嚯,两个for肯定是不能用,但是我还是没忍住试了一下原创 2022-03-16 12:20:11 · 195 阅读 · 0 评论 -
定时关机系统~~开整
首先用pyqt5设计一个漂亮的界面class MainUi(QtWidgets.QMainWindow): def __init__(self): super().__init__() self.init_ui() self.setWindowTitle("定时关机") def init_ui(self): self.setFixedSize(960,700) self.main_widget原创 2022-03-12 23:52:30 · 912 阅读 · 0 评论 -
两个链表的第一个公共节点
输入两个链表,找出它们的第一个公共节点。如下面的两个链表:leedcode地址a1->a2->a3 \ ->a4(b3)->a5(b4) / b1->b2第一次循环:b先结束,到了a4和b4,接下来一步到了a5和a1第二次循环:(从b1、a2开始)这是同时到a4和b3,结束a1->a2->a3->a4 \ ->a5(b3)-&g原创 2022-03-05 22:37:32 · 323 阅读 · 0 评论 -
最长不含重复字符的子字符串
请从字符串中找出一个最长的不包含重复字符的子字符串,计算该最长子字符串的长度输入: "abcabcbb"输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。动态规划来解,先是dic加入a,b,c前三个还没有重复,全部加入哈希表中,接下来第四个数就与a重复,这个时候就要看到两步,一个是哈希表不添加别的信息,但是要更新第1个信息,也就是从a的索引变化,a重复了,故a的值由0变成3dic{'a':0,'b':1,'c:2} ----->dic{'a':3,'b':原创 2022-03-04 11:43:22 · 237 阅读 · 0 评论 -
股票的最大利润
剑指 Offer 63. 股票的最大利润假设把某股票的价格按照时间先后顺序存储在数组中,请问买卖该股票一次可能获得的最大利润是多少?示例 1:输入: [7,1,5,3,6,4]输出: 5解释: 在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5 。 注意利润不能是 7-1 = 6, 因为卖出价格需要大于买入价格。示例 2:输入: [7,6,4,3,1]输出: 0解释: 在这种情况下, 没有交易完成, 所以最大利原创 2022-03-01 21:44:43 · 292 阅读 · 0 评论 -
对称的二叉树
最近真是和二叉树杠上了请实现一个函数,用来判断一棵二叉树是不是对称的。如果一棵二叉树和它的镜像一样,那么它是对称的。例如,二叉树 [1,2,2,3,4,4,3] 是对称的。 1 / \ 2 2 / \ / \3 4 4 3但是下面这个 [1,2,2,null,3,null,3] 则不是镜像对称的: 1 / \ 2 2 \ \ 3 3示例 1:输入:root = [1,2,2,3,4,4,3]输出:true示例 2原创 2022-02-28 23:38:35 · 264 阅读 · 0 评论 -
又又又遇见流氓软件了
遇见流氓软件怎么办,别傻傻的卸载卸载跟他抗衡了,在进入安全模式之前先试试这个吧原创 2022-01-27 22:33:08 · 309 阅读 · 0 评论 -
看看懒人如何发送邮件 —— Flask
Flask发送邮件前言代码详解获取授权码全部代码前言女友:我闺蜜让我给他发邮件,每半小时给他发一次,任务交给你了昂,发“宝贝加油哦”,别忘了昂我:我T…太荣幸了,包在我身上┭┮﹏┭┮。真每隔半小时给她编辑一次啊,怎么会,这么麻烦!来上代码!!代码详解先安好配置,用到Flask的Mail模块,以及time模块pip install Flask-Mail然后,嘿嘿,通过设置以下应用程序参数的值来配置Flask-Mail序号1参数1MAIL_SERVER 电原创 2021-09-07 17:19:22 · 663 阅读 · 2 评论 -
curl命令查看flask框架请求响应时间
我在用线程调试观察是否并发的时候用到这个# curl -o /dev/null -s -w %{time_namelookup}::%{time_connect}::%{time_starttransfer}::%{time_total}::%{speed_download}"\n" http://www.36nu.com 0.014::0.015::0.018::0.019::1516256.00-o:把curl 返回的html、js 写到垃圾回收站[ /dev/null]-s:去掉所有状态转载 2021-08-30 17:10:43 · 732 阅读 · 0 评论 -
闲来无事看看三国
哎,最近无心学习,快开学了,开开心心看会小说他不香么废话少说,上三国from bs4 import BeautifulSoupimport requestsheaders = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.193 Safari/537.36'}url = "http://sanguo.5000yan.原创 2021-08-17 19:15:40 · 104 阅读 · 0 评论 -
快速排序----数据结构
快速排序使用分治法策略来把一个序列分为较小和较大的2个子序列,然后递归地排序两个子序列。挑选基准值:从数列中挑出一个元素,称为"基准";分割:重新排序数列,所有比基准值小的元素摆放在基准前面,所有比基准值大的元素摆在基准后面(与基准值相等的数可以到任何一边)。在这个分割结束之后,对基准值的排序就已经完成;递归排序子序列:递归地将小于基准值元素的子序列和大于基准值元素的子序列排序。#快速排序def partition(arr,low,high): i = low-1 cach =原创 2021-07-09 20:54:44 · 82 阅读 · 0 评论 -
try except——学习笔记
总是忘记try,except用法,谨以此文加深印象错误时直接打印repr()表示返回较全的异常信息,包括异常信息的类型try: print(error)except Exception as e: print(e) print(repr(e)) #name 'error' is not defined #NameError("name 'error' is not defined",)raise,异常,报SyntaxError(‘sytax error’)原创 2021-05-14 20:45:43 · 659 阅读 · 1 评论 -
复杂数据结构——堆,队列,栈,链表,二叉树,有向图(一)
1.堆 进行排序的时候使用较多,重要应用:优先队列import heapqn=[8,3,9]heap=[]heapq.heappush(heap,1)#[1]for i in range(n): heapq.heappush(heap,i) #自动排序heapq.heappop(heap) #弹出最小元素#ranheap=[1,2,5,4,3,2,10,9]ranheap=[1,2,5,4,3,2,10,9]heapq.heapify(ranheap)原创 2021-04-13 21:30:29 · 343 阅读 · 1 评论 -
正则表达式小结——Python--(),[],{},?:,?=,?!
()是为了提取字符串,()是一一对应的关系,每一个()都相应匹配一组关系,比如:(??????:3[0-5]?\d).),所捕获的可以为35.也就是3(匹配一个0-5之间的数).(.匹配一个.)(?:)表示非捕获分组,()表示捕获分组,具体有啥个区别呢,我看着是说前者不保存,后者保存,光看确实看不懂,得试试啊,...原创 2021-03-18 11:57:34 · 454 阅读 · 2 评论 -
布尔函数——bool()
今天无意间看见了布尔函数,不说这个我都快忘了,因为以前我几乎用不上这个,再看时已经变成必需品。在以前自学unity的时候,判断一个物体的属性经常用到布尔函数(虽说当时就学了个皮毛)。因为布尔函数只有‘真’和‘假’两种属性,菜鸟教程说的非常简单对数字来说,bool(0)或bool(1)都为False(假),其余的都为True(真)x=bool(0)y=bool(1)m=bool(2)n=bool(900)'...原创 2021-03-07 15:58:04 · 11446 阅读 · 5 评论 -
Python学习笔记(三)----正则表达式初步学习
首先奉上菜鸟教程的介绍首先正则表达式的概念是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配。然后要学习的是re 模块和compile 函数,前者是使 Python 语言拥有全部的正则表达式功能;后者根据一个模式字符串和可选的标志参数生成一个正则表达式对象。该对象拥有一系列方法用于正则表达式匹配和替换。1. re.match函数re.match 尝试从字符串的起始位置匹配一个模式,如果不是起始位置匹配成功的话,match()就返回none。import re#此函数从起始位置原创 2021-02-05 11:48:18 · 230 阅读 · 0 评论 -
Python爬虫学习笔记(一)——保存网络图片
经过多天的学习,我终于勉勉强强学到了那一点点的知识了,呜呜呜好了,言归正传,好歹自学多日,先看看成果。import urllib.requesturl="https://img-pre.ivsky.com/img/bizhi/pre/201508/20/huoyingrenzhe-006.jpg"response=urllib.request.urlopen(url)img=response.read()with open('1.jpg','wb')as f: f.write(img)原创 2021-01-31 19:38:19 · 350 阅读 · 0 评论