python
文章平均质量分 59
布玛&
每个人的成长都是长期坚持的回馈...加油!
展开
-
力扣数组类题目--41缺失的第一个正数
2我们对数组进行遍历,对于遍历到的数 x,如果它在 [1,N]的范围内,那么就将数组中的第 x−1个位置(注意:数组下标从 0开始)打上「标记」。3由于我们只在意 [1,N] 中的数,因此我们可以先对数组进行遍历,把不在 [1,N] 范围内的数修改成任意一个大于 N 的数(例如 N+1)。1对于一个长度为 N 的数组,其中没有出现的最小正整数只能在 [1,N+1]中。这是因为如果 [1,N] 都出现了,那么答案是 N+1,否则答案是 [1,N] 中没有出现的最小正整数。输入:nums = [1,2,0]原创 2023-08-25 20:14:11 · 387 阅读 · 0 评论 -
力扣--数组类题目1.两数之和
给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1]。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。输入:nums = [2,7,11,15], target = 9。输入:nums = [3,2,4], target = 6。输入:nums = [3,3], target = 6。原创 2023-08-22 17:06:51 · 470 阅读 · 0 评论 -
python函数--bisect 二分查找模块
bisect(haystack,needle)在haystack(干草垛)里搜索 needle(针)的位置,该位置满足的条件是,把 needle 插入这个位置之后, haystack 还能保持升序。也就是在说这个函数返回的位置前面的值,都小于或等于 needle 的值。bisect_left函数是新元素会被放置于它相等的元素的前面,而 bisect_right返回的则是跟它相等的元素之后的位置。对于33来说,通过bisect返回的位置是0,所以对应的grades值是[0]=F。—本博文为转发并调试。原创 2023-08-22 16:30:32 · 250 阅读 · 0 评论 -
python函数--zip函数
参数iterable为可迭代的对象,并且可以有多个参数。该函数返回一个以元组为元素的列表,其中第 i 个元组包含每个参数序列的第 i 个元素。返回的列表长度被截断为最短的参数序列的长度。只有一个序列参数时,它返回一个1元组的列表。注意这里输出的每个都是元组,而不一定是原来的类型,但是值不会发生变化(除非原来的参数列表长度不一样,看下面的代码)zip() 和 * 操作符一起操作可以用来 unzip 一个列表,看下面的代码。当没有参数的时候、当只有一个参数的时、当多个参数长度不同的时候。原创 2023-08-21 18:12:35 · 240 阅读 · 0 评论 -
python函数--sorted函数和lambda函数
reduce(function,sequence):function接收的参数个数只能为2,先把sequence中第一个值和第二个值当参数传给function,再把function的返回值和第三个值当参数传给function,然后只返回一个结果。filter(function,sequence):对sequence中的item依次执行function(item),将执行结果为True的item组成一个List/String/Tuple(取决于sequence的类型)返回。1 简单列表(list)排序。原创 2023-08-21 17:24:05 · 5091 阅读 · 0 评论 -
正则表达式使用总结
1 正则表达式中有括号时,其输出内容就是括号匹配到的内容,而不是整个表达式所匹配到的结果。即整个正则表达式执行了,只不过只输出括号匹配到的内容。2 当正则表达式中有2个括号时,其输出是个list中显示元组形式如上。原创 2023-04-21 17:34:56 · 427 阅读 · 0 评论 -
正则表达式
正则表达式概述1 re模块的使用过程# 导入re模块import re# 使用match方法进行匹配操作result = re.match(正则表达式,要匹配的字符串)# 如果上一步匹配到数据的话,可以使用group方法来提取数据result.group()2 re模块示例(匹配以itcast开头的语句)import reresult = re.match("itcast" ,"itcast.cn")print(result.group())#itcast3 说明re.match原创 2022-05-10 12:02:32 · 493 阅读 · 0 评论 -
503. 下一个更大元素 II
下一个更大元素 II给定一个循环数组 nums ( nums[nums.length - 1] 的下一个元素是 nums[0] ),返回 nums 中每个元素的 下一个更大元素 。数字 x 的 下一个更大的元素 是按数组遍历顺序,这个数字之后的第一个比它更大的数,这意味着你应该循环地搜索它的下一个更大的数。如果不存在,则输出 -1 。示例 1:输入: nums = [1,2,1]输出: [2,-1,2]解释: 第一个 1 的下一个更大的数是 2;数字 2 找不到下一个更大的数;第二个 1.原创 2022-05-10 11:38:10 · 139 阅读 · 0 评论 -
python基本语法记录
1.字典的items()方法python字典items()函数以列表返回可遍历的(键值)元组数组。语法:dict.items()最后返回值:返回可遍历的(键值)元组数组a={"baby":1,"puppy":2,"alice":3}print(a.items())#dict_items([('a', 1), ('b', 2), ('c', 3)])for k,v in a.items(): print("k:",k) print("v:", v)输出:k: babyv: 1原创 2022-05-09 16:12:03 · 240 阅读 · 0 评论 -
300. 最长递增子序列
最长递增子序列给你一个整数数组 nums ,找到其中最长严格递增子序列的长度。子序列 是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。例如,[3,6,2,7] 是数组 [0,3,1,6,2,2,7] 的子序列。示例 1:输入:nums = [10,9,2,5,3,7,101,18]输出:4解释:最长递增子序列是 [2,3,7,101],因此长度为 4 。示例 2:输入:nums = [0,1,0,3,2,3]输出:4示例 3:输入:nums = [7,7.原创 2022-05-07 17:41:38 · 261 阅读 · 0 评论 -
354. 俄罗斯套娃信封问题
俄罗斯套娃信封问题给你一个二维整数数组 envelopes ,其中 envelopes[i] = [wi, hi] ,表示第 i 个信封的宽度和高度。当另一个信封的宽度和高度都比这个信封大的时候,这个信封就可以放进另一个信封里,如同俄罗斯套娃一样。请计算 最多能有多少个 信封能组成一组“俄罗斯套娃”信封(即可以把一个信封放到另一个信封里面)。注意:不允许旋转信封。示例 1:输入:envelopes = [[5,4],[6,4],[6,7],[2,3]]输出:3解释:最多信封的个数为 3,.原创 2022-05-07 17:39:59 · 124 阅读 · 0 评论 -
LCP 40. 心算挑战
LCP 40. 心算挑战「力扣挑战赛」心算项目的挑战比赛中,要求选手从 N 张卡牌中选出 cnt 张卡牌,若这 cnt 张卡牌数字总和为偶数,则选手成绩「有效」且得分为 cnt 张卡牌数字总和。给定数组 cards 和 cnt,其中 cards[i] 表示第 i 张卡牌上的数字。 请帮参赛选手计算最大的有效得分。若不存在获取有效得分的卡牌方案,则返回 0。示例 1:输入:cards = [1,2,8,9], cnt = 3输出:18解释:选择数字为 1、8、9 的这三张卡牌,此时可获得最大的有效原创 2022-05-06 17:41:14 · 223 阅读 · 0 评论 -
169. 多数元素-方法2(力扣)
题目描述:给定一个大小为 n 的数组 nums ,返回其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊ n/2 ⌋ 的元素。你可以假设数组是非空的,并且给定的数组总是存在多数元素。示例 1:输入:nums = [3,2,3]输出:3示例 2:输入:nums = [2,2,1,1,1,2,2]输出:2import collections'''collections是Python内建的一个集合模块,提供了许多有用的集合类。该模块实现了专门的容器数据类型,提供了Python的通用内原创 2022-04-28 21:01:16 · 1820 阅读 · 0 评论 -
169. 多数元素(力扣)
题目描述:给定一个大小为 n 的数组 nums ,返回其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊ n/2 ⌋ 的元素。你可以假设数组是非空的,并且给定的数组总是存在多数元素。示例 1:输入:nums = [3,2,3]输出:3示例 2:输入:nums = [2,2,1,1,1,2,2]输出:2在这里插入代码片class Solution(object): def majorityElement(self, nums): """ :typ原创 2022-04-28 20:21:43 · 1227 阅读 · 0 评论 -
94. 二叉树的中序遍历(力扣)
给定一个二叉树的根节点 root ,返回 它的 中序 遍历 。输入:root = [1,null,2,3]输出:[1,3,2]在这里插入代码片# Definition for a binary tree node.class TreeNode(object): def __init__(self, val=0, left=None, right=None): self.val = val self.left = left self.right原创 2022-04-27 15:48:48 · 260 阅读 · 0 评论 -
20. 有效的括号
给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。示例 1:输入: “()”输出: true示例 2:输入: “()[]{}”输出: true示例 3:输入: “(]”输出: false示例 4:输入: “([)]”输出: false示例 5:输入: “{[]}”输出: true答案:class Solutio原创 2020-06-13 21:44:46 · 151 阅读 · 0 评论 -
70. 爬楼梯
假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?注意:给定 n 是一个正整数。示例 1:输入: 2输出: 2解释: 有两种方法可以爬到楼顶。1 阶 + 1 阶2 阶示例 2:输入: 3输出: 3解释: 有三种方法可以爬到楼顶。1 阶 + 1 阶 + 1 阶1 阶 + 2 阶2 阶 + 1 阶答案:方法一:passclass Solution: def climbStairs(self, n原创 2020-06-13 18:51:24 · 109 阅读 · 0 评论 -
python字典用法大全
目录序言:1.0 dict()函数2.0 clear()函数3.0 copy()函数4.0 fromkeys()函数5.0 get()函数6.0&n...转载 2020-03-18 14:36:58 · 675 阅读 · 0 评论 -
python列表用法大全
目录序言:0.0 list()函数1.0 append()函数2.0 clear()函数3.0 copy()函数4.0 count()函数5.0 ...转载 2020-03-18 14:35:25 · 938 阅读 · 0 评论 -
python字符串函数用法大全
目录1.0 capitalize()函数2.0 title()函数3.0 swapcase()函数4.0 lower()函数5.0 upper()...转载 2020-03-18 14:26:10 · 2835 阅读 · 0 评论 -
容器,可迭代对象,迭代器
容器(container)容器是一种把多个元素组织在一起的数据结构,容器中的元素可以逐个地迭代获取,可以用in, not in关键字判断元素是否包含在容器中。通常这类数据结构把所有的元素存储在内存中(也有一些特例,并不是所有的元素都放在内存,比如迭代器和生成器对象)在Python中,常见的容器对象...转载 2020-03-18 14:02:18 · 158 阅读 · 0 评论 -
TCP与UDP的区别
1.TCP使用窗口机制进行流量控制,那什么是窗口呢?连接建立时,各端都会建立缓冲区用来存储接收的数据,并将缓冲区的尺寸发送给另一端,接收方发送的确认信息中包含了自己的剩余缓冲区的尺寸。我们把剩...转载 2020-03-18 13:58:24 · 92 阅读 · 0 评论 -
python 正则表达式
正则表达式概述思考场景1:在一个文件中,查找出itcast开头的语句测试文件itcast hello pythonitcast c++itheima iositheima php场景:在一个文件中,找到含有itcast的语句测试文件hello itcast pythonwww.itcast.cn c++ith...转载 2020-03-18 13:56:21 · 1437 阅读 · 0 评论 -
python协程,迭代器,生成器
迭代器迭代是访问集合元素的一种方式。迭代器是一个可以记住遍历的位置的对象。迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束。迭代器只能往前不会后退。1. 可迭代对象我们已经知道...转载 2020-03-18 13:54:54 · 83 阅读 · 0 评论 -
python 多任务 进程与线程
进程以及状态1. 进程程序:例如xxx.py这是程序,是一个静态的进程:一个程序运行起来后,代码+用到的资源 称之为进程,它是操作系统分配资源的基本单元。不仅可以通过线程完成多任务,进程也是可...转载 2020-03-18 13:52:28 · 93 阅读 · 0 评论 -
python多进程,多线程,gil全局解释器锁
并发和并行什么是并发什么是并行,他们的区别是什么? 你吃饭吃到一半,电话来了,你一直到吃完了以后才去接,这就说明你不支持并发也不支持并行. 你吃饭吃到一半,电话来了,你停了下来接了电话,接完...转载 2020-03-18 13:50:44 · 154 阅读 · 0 评论 -
多任务
多任务介绍现实生活中有很多的场景中的事情是同时进行的,比如开车的时候 手和脚共同来驾驶汽车,再比如唱歌跳舞也是同时进行的;试想,如果把唱歌和跳舞这2件事情分开依次完成的话,估计就没有那么好的效...转载 2020-03-18 13:38:56 · 148 阅读 · 0 评论 -
网络编程2
TCP简介TCP介绍TCP协议,传输控制协议(英语:Transmission Control Protocol,缩写为 TCP)是一种面向连接的、可靠的、基于字节流的传输层通信协议,由IETF...转载 2020-03-18 13:33:20 · 106 阅读 · 0 评论 -
网络编程
网络通信概述1. 什么是网络说明网络就是一种辅助双方或者多方能够连接在一起的工具如果没有网络可想单机的世界是多么的孤单单机游戏(不能和远在他乡的朋友一起玩)2. 使用网络的目的就是为了联通多方...转载 2020-03-18 13:21:07 · 251 阅读 · 0 评论 -
练习
网络软件调试助手下载:https://soft.onlinedown.net/soft/971066.htm原创 2020-03-17 16:06:22 · 104 阅读 · 0 评论 -
DFS的应用--疯狂找1
飞地的数量给出一个二维数组 A,每个单元格为 0(代表海)或 1(代表陆地)。移动是指在陆地上从一个地方走到另一个地方(朝四个方向之一)或离开网格的边界。返回网格中无法在任意次数的移动中离开网格边界的陆地单元格的数量。示例 1:输入:[[0,0,0,0],[1,0,1,0],[0,1,1,0],[0,0,0,0]]输出:3解释:有三个 1 被 0 包围。一个 1 没有被包围,因为...原创 2020-03-14 17:27:49 · 178 阅读 · 0 评论 -
Python进阶(九):列表,元组,字典,集合的同异
转自:https://blog.csdn.net/weixin_37720172/article/details/78769301一.前言一直想写写这四种类型的相同点,与不同点在哪里,以及在什么情况下应该使用哪种类型。无奈水平不够,怕写出来不够深刻,所以一直拖着。今天想了想还是写出来吧,如果以后还有新的见解或者技巧我会继续更上去的。二.列表(list)具有以下特点:1.可以用list()...转载 2020-03-13 16:51:08 · 481 阅读 · 0 评论 -
最长公共前缀
编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 “”。示例 1:输入: [“flower”,“flow”,“flight”]输出: “fl”示例 2:输入: [“dog”,“racecar”,“car”]输出: “”解释: 输入不存在公共前缀。说明:所有输入只包含小写字母 a-z 。来源:力扣(LeetCode)链接:https://leet...原创 2020-01-08 16:12:48 · 113 阅读 · 0 评论 -
反转字符串
编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 char[] 的形式给出。不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。你可以假设数组中的所有字符都是 ASCII 码表中的可打印字符。示例 1:输入:[“h”,“e”,“l”,“l”,“o”]输出:[“o”,“l”,“l”,“e”,“h”]来源:力扣(LeetCode...原创 2020-01-04 22:04:36 · 110 阅读 · 0 评论 -
合并两个有序数组
给定两个有序整数数组 nums1 和 nums2,将 nums2 合并到 nums1 中,使得 num1 成为一个有序数组。说明:初始化 nums1 和 nums2 的元素数量分别为 m 和 n。你可以假设 nums1 有足够的空间(空间大小大于或等于 m + n)来保存 nums2 中的元素。示例:输入:nums1 = [1,2,3,0,0,0], m = 3nums2 = [2,...原创 2020-01-04 20:04:50 · 78 阅读 · 0 评论 -
斐波那契数
斐波那契数,通常用 F(n) 表示,形成的序列称为斐波那契数列。该数列由 0 和 1 开始,后面的每一项数字都是前面两项数字的和。也就是:F(0) = 0, F(1) = 1F(N) = F(N - 1) + F(N - 2), 其中 N > 1.给定 N,计算 F(N)0 ≤ N ≤ 30来源:力扣(Lee...原创 2020-01-03 18:19:27 · 133 阅读 · 0 评论 -
删除排序数组中的重复项
给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。示例 1:给定数组 nums = [1,1,2],函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为 1, 2。你不需要考虑数组中超出新长度后面的元素。来源:力扣(LeetCode...原创 2020-01-03 15:21:26 · 145 阅读 · 0 评论 -
enumerate() 函数和items()函数
enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中基本语法:enumerate(sequence, [start=0])参数:sequence – 一个序列、迭代器或其他支持迭代对象。start – 下标起始位置。如:seasons = [‘Spring’, ‘Summer’, ‘F...原创 2019-12-29 17:06:07 · 1611 阅读 · 0 评论 -
一些常识1
return会跳出函数(遇到它,函数就结束),即执行到return时,程序将停止函数内return后面的语句break会跳出当前循环continue 跳出当前循环并执行下一次...原创 2019-12-29 16:21:27 · 2555 阅读 · 1 评论 -
疑问?
1、x = (y = z + 1) 在python中属于非法语句 会提示 invalid syntax。why?原创 2019-12-28 21:09:26 · 628 阅读 · 0 评论