自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

yequn1997的博客

屋里的python后端

  • 博客(117)
  • 资源 (1)
  • 问答 (3)
  • 收藏
  • 关注

原创 leetcode-326-3的幂

leetcode算法记录

2022-06-16 10:07:43 260 1

原创 学习笔记7-python(构造函数、类属性、实例属性及析构函数

python构造函数、类属性、实例属性、析构函数

2022-06-15 18:15:57 537

原创 学习笔记6-python(高阶函数、装饰器)

python高阶函数、装饰器

2022-06-15 17:53:26 254

原创 学习笔记5-python(函数闭包,迭代对象,生成器,迭代器及作用域)部分面试题

函数闭包,迭代对象,生成器,迭代器及作用域

2022-06-12 21:25:46 224

原创 学习笔记4-python字符串补充及函数传参(部分面试题)

python 主要知识点

2022-06-11 15:36:21 392

原创 学习笔记3-python深拷贝、浅拷贝及赋值补充(主要面试问题)

python深拷贝、浅拷贝及赋值区分

2022-06-05 21:32:44 130

原创 leetcode-周赛296

记录周赛的解法

2022-06-05 12:47:36 363

原创 leetcode-16-最接近的三数之和

给你一个长度为 n 的整数数组 nums 和 一个目标值 target。请你从 nums 中选出三个整数,使它们的和与 target 最接近。返回这三个数的和。假定每组输入只存在恰好一个解。解法:(双指针比较绝对值)...

2022-06-03 19:21:47 227

原创 python并发编程(多线程、多进程、异步IO等)

多线程:threading,利用CPU和IO可以同时执行的原理,让CPU不会等到IO完成再执行;多进程:multiprocessing,利用多核CPU的能力,真正的并行执行任务;异步IO:asyncio,在单线程利用CPU和IO同时执行的原理,实现函数异步执行;使用Lock对资源加锁,防止访问冲突;使用Queue实现不同线程、进程之间的数据通信,实现生产者-消费者模式;使用线程池Pool/进程池Pool,简化线程/进程的任务提交、等待结果、获取结果;什么是CPU密集型计算、IO密集型计算?C

2022-05-31 20:36:40 2384

原创 leetcode-139-单词拆分

给你一个字符串 s 和一个字符串列表 wordDict 作为字典。请你判断是否可以利用字典中出现的单词拼接出 s 。注意:不要求字典中出现的单词全部都使用,并且字典中的单词可以重复使用。示例 1:输入: s = "leetcode", wordDict = ["leet", "code"]输出: true解释: 返回 true 因为 "leetcode" 可以由 "leet" 和 "code" 拼接成。示例 2:输入: s = "applepenapple", wordDict = ["a

2022-05-30 18:21:50 232

原创 leetcode-周赛295

1.重排字符形成目标字符串(6078)给你两个下标从 0 开始的字符串 s 和 target 。你可以从 s 取出一些字符并将其重排,得到若干新的字符串。从 s 中取出字符并重新排列,返回可以形成 target 的 最大 副本数。示例 1:输入:s = "ilovecodingonleetcode", target = "code"输出:2解释:对于 "code" 的第 1 个副本,选取下标为 4 、5 、6 和 7 的字符。对于 "code" 的第 2 个副本,选取下标为 17 、18

2022-05-29 20:09:19 255

原创 leetcode-双周赛79

1. 判断一个数的数字计数是否等于数位的值(6083)给你一个下标从 0 开始长度为 n 的字符串 num ,它只包含数字。如果对于 每个 0 <= i < n 的下标 i ,都满足数位 i 在 num 中出现了 num[i]次,那么请你返回 true ,否则返回 false 。示例 1:输入:num = "1210"输出:true解释:num[0] = '1' 。数字 0 在 num 中出现了一次。num[1] = '2' 。数字 1 在 num 中出现了两次。num[2]

2022-05-29 19:43:48 2326

原创 leetcode-876-链表的中间节点

给定一个头结点为 head 的非空单链表,返回链表的中间结点。如果有两个中间结点,则返回第二个中间结点。示例 1:输入:[1,2,3,4,5]输出:此列表中的结点 3 (序列化形式:[3,4,5])返回的结点值为 3 。 (测评系统对该结点序列化表述是 [3,4,5])。注意,我们返回了一个 ListNode 类型的对象 ans,这样:ans.val = 3, ans.next.val = 4, ans.next.next.val = 5, 以及 ans.next.next.next = N

2022-05-28 10:38:24 78

原创 MySQL笔记-InnoDB锁问题

1.MySQL锁概述MyISAM存储引擎采用的是表级锁InnoDB存储引擎既支持行级锁,也支持表级锁,默认情况下是采用行级锁MySQL锁的特性:表级锁:开销小,加锁快;不会出现死锁;锁定粒度大,发生锁冲突的概率最高,并发度最低;行级锁:开销大,加锁慢;会出现死锁;锁定粒度最小,发生锁冲突的概率最低,并发度也最高;页面锁:开销和加锁时间介于表锁和行锁之间;会出现死锁,锁定粒度介于表锁和行锁之间,并发度一般。2.InnoDB锁问题InnoDB与MyISAM的最大不同有两点:支持事务(

2022-05-27 21:32:24 2373

原创 MySQL笔记-存储引擎特性

1. MyISAMMyISAM是MySQL5.5之前版本的默认存储引擎,MyISAM既不支持事务,也不支持外键;每个MyISAM在磁盘上存储成3个文件,其文件名都和表名相同,但扩展名分别如下:.frm(存储表定义).MYD(MYData,存储数据).MYI(MYIndex,存储索引)数据文件和索引文件可以放置在不同的目录,平均分布IO,获得更快的速度;要指定索引文件和数据文件的路径,需要在创建表的时候通过DATA DIRECTORY和INDEX DIRECTORY语句指定,索引文件和数

2022-05-27 17:21:11 109

转载 leetcode-167-两数之和II-输入有序数组

给你一个下标从 1 开始的整数数组 numbers ,该数组已按 非递减顺序排列 ,请你从数组中找出满足相加之和等于目标数 target 的两个数。如果设这两个数分别是 numbers[index1] 和 numbers[index2] ,则 1 <= index1 < index2 <= numbers.length 。以长度为 2 的整数数组 [index1, index2] 的形式返回这两个整数的下标 index1 和 index2。你可以假设每个输入 只对应唯一的答案 ,而且

2022-05-26 12:08:36 106

原创 leetocde-283-移动零

给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。请注意 ,必须在不复制数组的情况下原地对数组进行操作。示例 1:输入: nums = [0,1,0,3,12]输出: [1,3,12,0,0]示例 2:输入: nums = [0]输出: [0] 提示:1 <= nums.length <= 104-231 <= nums[i] <= 231 - 1解法一:(双指针直接交换)class Solution:

2022-05-25 21:22:07 2138

原创 leetcode-189-轮转数组

给你一个数组,将数组中的元素向右轮转 k 个位置,其中 k 是非负数。示例 1:输入: nums = [1,2,3,4,5,6,7], k = 3输出: [5,6,7,1,2,3,4]解释:向右轮转 1 步: [7,1,2,3,4,5,6]向右轮转 2 步: [6,7,1,2,3,4,5]向右轮转 3 步: [5,6,7,1,2,3,4]示例 2:输入:nums = [-1,-100,3,99], k = 2输出:[3,99,-1,-100]解释: 向右轮转 1 步: [99,-

2022-05-25 11:40:18 107

原创 leetcode-977-有序数组的平方

给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序。示例 1:输入:nums = [-4,-1,0,3,10]输出:[0,1,9,16,100]解释:平方后,数组变为 [16,1,0,9,100]排序后,数组变为 [0,1,9,16,100]示例 2:输入:nums = [-7,-3,2,3,11]输出:[4,9,9,49,121] 提示:1 <= nums.length <= 104-104 <

2022-05-25 10:52:18 91

原创 leetcode-35-搜索插入位置

给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。请必须使用时间复杂度为 O(log n) 的算法。示例 1:输入: nums = [1,3,5,6], target = 5输出: 2示例 2:输入: nums = [1,3,5,6], target = 2输出: 1示例 3:输入: nums = [1,3,5,6], target = 7输出: 4 提示:1 <= nums.length &lt

2022-05-24 22:03:20 89

原创 leetcode-965-单值二叉树

如果二叉树每个节点都具有相同的值,那么该二叉树就是单值二叉树。只有给定的树是单值二叉树时,才返回 true;否则返回 false。示例1:输入:[1,1,1,1,1,null,1]输出:true示例2:输入:[2,2,2,5,2]输出:false 提示:给定树的节点数范围是 [1, 100]。每个节点的值都是整数,范围为 [0, 99] 。解法一:(递归)# Definition for a binary tree node.# class TreeNode:#

2022-05-24 21:45:20 87

原创 MySQL笔记--事务控制和锁定语句

序MySQL支持对MyISAM和MEMORY存储引擎的表进行表级锁定,对BDB存储引擎的表进行页级锁定,对InnoDB存储引擎的表进行行级锁定;默认情况下,表锁和行锁都是自动获得的,不需要额外的命令;但是在有的情况下,用户需要明确地进行锁表或者进行事物的控制,以便确保整个事务的完整性,这样就需要使用事务控制和锁表语句来完成。LOCK TABLES 和 UNLOCK TABLESLOCK TABLES 可以锁定用于当前线程的表,如果表被其他线程锁定,则当前线程会等待,直到可以获取所有锁定为止;

2022-05-24 21:29:04 126

原创 学习笔记2-python基础知识(字典,集合, 元组)

1. 字典获取元素的方式第一种方式:通过索引的方式访问字典中的元素第二种方式:get()字典中删除元素第一种:pop(‘要删除元素的key’)第二种:popitem() 删除字典中的最后一对key和value第三种:clear() 清空字典len():获取字典的长度获取字典的参数dict.keys():获取字典中所有的keydict.values():获取字典中的所有的valuedict.items():获取字典中所有的key和value遍历字典第一

2022-05-22 21:06:01 1883

原创 leetcode-11-盛最多水的容器

给定一个长度为 n 的整数数组 height 。有 n 条垂线,第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。返回容器可以储存的最大水量。说明:你不能倾斜容器。示例 1:输入:[1,8,6,2,5,4,8,3,7]输出:49 解释:图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下,容器能够容纳水(表示为蓝色部分)的最大值为 49。示例 2:输入:height =

2022-05-22 10:00:06 111

原创 leetcode-100-相同的树

给你两棵二叉树的根节点 p 和 q ,编写一个函数来检验这两棵树是否相同。如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。示例 1:输入:p = [1,2,3], q = [1,2,3]输出:true示例 2:输入:p = [1,2], q = [1,null,2]输出:false示例 3:输入:p = [1,2,1], q = [1,1,2]输出:false提示:两棵树上的节点数目都在范围 [0, 100] 内-104 <= Node.val

2022-05-21 12:44:00 69

原创 leetcode-94-二叉树的中序遍历

给定一个二叉树的根节点root,返回它的中序遍历示例 1:输入:root = [1,null,2,3]输出:[1,3,2]示例 2:输入:root = []输出:[]示例 3:输入:root = [1]输出:[1] 提示:树中节点数目在范围 [0, 100] 内-100 <= Node.val <= 100解法一:(迭代-额外栈空间)# Definition for a binary tree node.# class TreeNode:#

2022-05-21 12:25:27 120

原创 算法笔记1-二叉树所有遍历模板及知识总结

# Definition for a binary tree node.# class TreeNode:# def __init__(self, x):# self.val = x# self.left = None# self.right = None1. 递归时间复杂度:O(n),n为节点数,访问每个节点恰好一次。空间复杂度:空间复杂度:O(h),h为树的高度。最坏情况下需要空间O(n),平均情况为O(logn)递归1:二叉

2022-05-21 11:07:48 195

原创 leetcode-961-在长度2N的数组中找出重复N次的元素

*给你一个整数数组 nums ,该数组具有以下属性:nums.length == 2 * n.nums 包含 n + 1 个 不同的 元素nums 中恰有一个元素重复 n 次找出并返回重复了 n 次的那个元素。示例 1:输入:nums = [1,2,3,3]输出:3示例 2:输入:nums = [2,1,2,5,3,2]输出:2示例 3:输入:nums = [5,1,5,2,5,3,5,4]输出:5 提示:2 <= n <= 5000nums.len

2022-05-21 09:53:45 132

原创 leetcode-144-二叉树的前序遍历

给你二叉树的根节点 root ,返回它节点值的 前序 遍历。示例 1:输入:root = [1,null,2,3]输出:[1,2,3]示例 2:输入:root = []输出:[]示例 3:输入:root = [1]输出:[1]示例 4:输入:root = [1,2]输出:[1,2]示例 5:输入:root = [1,null,2]输出:[1,2] 提示:树中节点数目在范围 [0, 100] 内-100 <= Node.val <= 100

2022-05-20 21:47:29 93

原创 学习笔记1-python基础知识(字符串,列表)

1. 字符串:upper():将小写字母全部转换为大写字母lower():将大写字母全部转换为小写字母swapcase():将字符串中的大写字母转换为小写,将小写字母转换为大写title():将单词的每个首字母转换为大写find():查找子串在字符串中第一次出现的位置,若找到了返回的是下标,若未找到返回-1index():功能和find类似,若未找到直接报错,若找到了返回的是下标rfind():查找子串在字符串中最后一次出现的位置,找到了返回的是下标,若未找到返回-1rindex():查找

2022-05-20 21:30:52 114

原创 leetcode-18-四数之和

给你一个由 n 个整数组成的数组 nums ,和一个目标值 target 。请你找出并返回满足下述全部条件且不重复的四元组 [nums[a], nums[b], nums[c], nums[d]] (若两个四元组元素一一对应,则认为两个四元组重复):0 <= a, b, c, d < na、b、c 和 d 互不相同nums[a] + nums[b] + nums[c] + nums[d] == target你可以按 任意顺序 返回答案 。示例 1:输入:nums = [1,0,-1

2022-05-19 13:20:22 67

原创 leetcode-462-最少移动次数使数组元素相等II

给你一个长度为 n 的整数数组 nums ,返回使所有数组元素相等需要的最少移动数。在一步操作中,你可以使数组中的一个元素加 1 或者减 1 。示例 1:输入:nums = [1,2,3]输出:2解释:只需要两步操作(每步操作指南使一个元素加 1 或减 1):[1,2,3] => [2,2,3] => [2,2,2]示例 2:输入:nums = [1,10,2,9]输出:16 提示:n == nums.length1 <= nums.length

2022-05-19 13:00:27 192

原创 python-面试题整理-基础

1. 不使用中间变量,交换两个变量的值a=a ^ b, b=a ^ b, a=a ^ ba, b = b , aa=a+b, b=a-b, a=a-b2. python中生成器和迭代器裴波那挈数列的迭代器class Fib(object): def __init__(self,num): self.num = num self.a, self.b = 0, 1 self.idx = 0 def __iter__(self): return self def __next

2022-05-19 12:57:02 126

原创 leetcode-2274-不包含特殊楼层的最大连续层数

Alice 管理着一家公司,并租用大楼的部分楼层作为办公空间。Alice 决定将一些楼层作为 特殊楼层 ,仅用于放松。给你两个整数 bottom 和 top ,表示 Alice 租用了从 bottom 到 top(含 bottom 和 top 在内)的所有楼层。另给你一个整数数组 special ,其中 special[i] 表示 Alice 指定用于放松的特殊楼层。返回不含特殊楼层的 最大 连续楼层数。示例 1:输入:bottom = 2, top = 9, special = [4,6]输

2022-05-16 12:26:38 117

原创 leetcode-2268-移除字母异位词后的结果数组

给你一个下标从 0 开始的字符串 words ,其中 words[i] 由小写英文字符组成。在一步操作中,需要选出任一下标 i ,从 words 中 删除 words[i] 。其中下标 i 需要同时满足下述两个条件:0 < i < words.lengthwords[i - 1] 和 words[i] 是 字母异位词 。只要可以选出满足条件的下标,就一直执行这个操作。在执行所有操作后,返回 words 。可以证明,按任意顺序为每步操作选择下标都会得到相同的结果。字母异位词 是由重新排

2022-05-16 12:13:49 116

原创 leetcode-74 搜索二维矩阵

编写一个高效的算法来判断 m x n 矩阵中,是否存在一个目标值。该矩阵具有如下特性:每行中的整数从左到右按升序排列。每行的第一个整数大于前一行的最后一个整数。示例 1:输入:matrix = [[1,3,5,7],[10,11,16,20],[23,30,34,60]], target = 3输出:true示例 2:输入:matrix = [[1,3,5,7],[10,11,16,20],[23,30,34,60]], target = 13输出:false 提示:m ==

2022-05-06 21:15:46 66

原创 leetcode-1351 统计有序矩阵中的负数

给你一个 m * n 的矩阵 grid,矩阵中的元素无论是按行还是按列,都以非递增顺序排列。 请你统计并返回 grid 中 负数 的数目。示例 1:输入:grid = [[4,3,2,-1],[3,2,1,-1],[1,1,-1,-2],[-1,-1,-2,-3]]输出:8解释:矩阵中共有 8 个负数。示例 2:输入:grid = [[3,2],[1,0]]输出:0 提示:m == grid.lengthn == grid[i].length1 <= m, n <

2022-05-06 18:16:25 222

原创 leetcode-1539 第k个缺失的正整数

给你一个 严格升序排列 的正整数数组 arr 和一个整数 k 。请你找到这个数组里第 k 个缺失的正整数。示例 1:输入:arr = [2,3,4,7,11], k = 5输出:9解释:缺失的正整数包括 [1,5,6,8,9,10,12,13,...] 。第 5 个缺失的正整数为 9 。示例 2:输入:arr = [1,2,3,4], k = 2输出:6解释:缺失的正整数包括 [5,6,7,...] 。第 2 个缺失的正整数为 6 。 提示:1 <= arr.lengt

2022-05-04 18:13:29 496

原创 leetcode-441 排列硬币

你总共有 n 枚硬币,并计划将它们按阶梯状排列。对于一个由 k 行组成的阶梯,其第 i 行必须正好有 i 枚硬币。阶梯的最后一行 可能 是不完整的。给你一个数字 n ,计算并返回可形成 完整阶梯行 的总行数。示例 1:输入:n = 5输出:2解释:因为第三行不完整,所以返回 2 。示例 2:输入:n = 8输出:3解释:因为第四行不完整,所以返回 3 。 提示:1 <= n <= 231 - 1解法一:(二分法)class Solution: de

2022-05-03 19:06:10 339

原创 leetcode-34 在排序数组中查找元素的第一个和最后一个位置

给定一个按照升序排列的整数数组 nums,和一个目标值 target。找出给定目标值在数组中的开始位置和结束位置。如果数组中不存在目标值 target,返回 [-1, -1]。进阶:你可以设计并实现时间复杂度为 O(log n) 的算法解决此问题吗?示例 1:输入:nums = [5,7,7,8,8,10], target = 8输出:[3,4]示例 2:输入:nums = [5,7,7,8,8,10], target = 6输出:[-1,-1]示例 3:输入:nums = []

2022-05-03 10:54:27 130

s3_clients-python,针对服务器资源操作

s3_clients-python,针对服务器资源操作

2021-11-16

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

TA关注的人

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