- 博客(49)
- 收藏
- 关注
原创 7-14 最长的单词
摘要:该程序实现从输入字符串中找出最长的单词。通过自定义函数word()比较单词长度,返回最长单词(若多个等长则取首个)。处理时先替换标点符号为空格,再将字符串分割成单词列表。程序持续读取输入直到EOF,适用于多组测试数据。示例输入包含混合标点符号的句子,输出对应最长单词如"insertion"、"discusses"等。核心思路是字符串预处理+长度比较,时间复杂度为O(n)。
2025-06-12 17:08:16
105
原创 python-生日悖论
摘要:本文通过Python编程验证生日悖论,即23人中有两个人生日相同的概率超过50%。程序使用随机数生成23个生日日期(1-365),统计n次测试中生日重复的比例。输入随机数种子和测试次数后,输出保留2位小数的重复比率。示例输入"3 1000"输出"rate=0.54",证实了该概率现象。代码实现涉及随机数生成、集合去重和概率计算,简洁有效地验证了经典概率问题。
2025-06-12 17:06:37
68
原创 R7-4 统计单词的个数
摘要:该程序统计一行输入字符串中的单词数量。单词定义为被空格分隔的非空字符序列,多个空格视为一个分隔符。输入字符串处理后,用split()方法分割并计算单词数。例如输入"Let's go to room 209"输出"count=5"。代码先去除首尾空格,处理空输入情况,最后输出单词统计结果。核心算法是通过split()自动处理连续空格,简洁高效。
2025-06-10 21:28:52
238
原创 R7-1 显示Pascal三角形
摘要:本文展示了一个生成Pascal三角形的Python程序。程序通过输入行数n,输出n行的Pascal三角形。每行数字间用空格分隔,行末也有空格。算法利用列表存储前一行数据来构建当前行。样例输入4时,输出为4行Pascal数字序列:1, 1 1, 1 2 1, 1 3 3 1。程序简洁高效地实现了Pascal三角形的生成和格式化输出。
2025-06-10 21:00:05
230
原创 74. 搜索二维矩阵 (力扣)
摘要:该问题要求在一个特殊有序的m×n矩阵中查找目标值target。矩阵满足:每行元素从左到右非严格递增,且每行首元素大于前一行末元素。解法首先确定target可能所在的行,然后在该行进行二分查找。代码实现中先处理单元素矩阵的特殊情况,然后遍历行定位目标行,最后对目标行执行二分查找。时间复杂度为O(m + logn),空间复杂度O(1)。示例1查找3返回true,示例2查找13返回false。
2025-06-03 18:23:42
549
原创 704. 二分查找 (力扣)
摘要:本文实现了一个二分查找算法,用于在有序整型数组中查找目标值。算法通过维护左右指针逐步缩小搜索范围,时间复杂度为O(log n)。当目标值存在时返回其下标,否则返回-1。示例展示了查找成功(target=9返回4)和失败(target=2返回-1)的情况。代码采用左闭右开区间写法,避免整数溢出问题,适用于元素唯一且数组长度在1到10000之间的场景。
2025-06-03 18:15:13
208
原创 今日主题二分查找(寻找峰值 力扣162)
摘要:本文介绍如何用二分查找在O(logn)时间复杂度内寻找数组中的任一峰值元素(值严格大于相邻元素)。关键思路是比较中间元素与其右侧元素,若中间元素较大则峰值在左侧,否则在右侧。边界条件处理为假设nums[-1]=nums[n]=-∞。示例代码展示了二分查找的实现,最终返回峰值索引。例如,数组[1,2,3,1]返回索引2,[1,2,1,3,5,6,4]可返回1或5。
2025-06-03 18:11:52
411
原创 旋转数组的最小数字
把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个升序的数组的一个旋转,输出旋转数组的最小元素。例如数组 {3,4,5,1,2}{3,4,5,1,2} 为 {1,2,3,4,5}{1,2,3,4,5} 的一个旋转,该数组的最小值为 11。数组可能包含重复项。:数组内所含元素非负,若数组大小为 00,请返回 −1−1。
2025-05-25 23:10:30
381
原创 重复元素判定
该代码用于统计多行字符串中是否包含重复元素。首先,输入n表示要处理的行数。然后,逐行读取字符串并将其拆分为列表。通过将列表转换为集合,比较集合和列表的长度来判断是否包含重复元素。如果长度相同,则无重复元素,False计数加1;否则,True计数加1。最后输出包含重复元素的行数和不包含重复元素的行数。例如,输入5行字符串,输出结果为True=3, False=2,表示有3行包含重复元素,2行不包含重复元素。
2025-05-21 22:18:28
155
原创 通过两个列表构建字典(python极其详细)
这篇文章介绍了一个Python程序,该程序从用户输入的两行字符串中创建字典,并按键的升序输出键值对。首先,程序将两行输入字符串分别分割成列表,一个作为键列表,另一个作为值列表。然后,通过循环将键和值配对,并转换为元组形式存储在列表中。最后,程序对这个列表进行排序,并输出排序后的键值对列表。输入样例为“学校城市邮编”和“集美大学厦门361021”,输出结果为[('城市','厦门'),('学校','集美大学'),('邮编','361021')],展示了如何将字符串处理并组织成有序的字典结构。
2025-05-20 18:47:47
404
原创 输出字母在字符串中位置索引
该程序的功能是从用户输入的字符串中查找两个指定字符,并从右向左输出这些字符及其索引。首先,程序将字符串转换为列表,并接收两个目标字符。然后,通过从字符串末尾向前遍历,检查每个字符是否与目标字符匹配。如果匹配,则输出该字符及其索引。例如,输入字符串“pmispsissippisp”和字符“p”和“s”,程序会输出这些字符及其从右向左的索引位置。这种从后向前的查找方式确保了索引最大的字符最先输出。
2025-05-20 18:41:07
569
原创 使用for循环和字典功能,统计字符出现在一个英文句子中的次数(python)
本题目要求写出一段代码实现输入一个英文句子后,统计句子中各个字符(不区分大小写,包含空格和标点符号)出现的次数。
2025-05-19 19:20:25
358
原创 python-判断闰年( 极其简单的python)
输入一个年份,判断其是否为闰年。判断闰年的标准:能被4整除但不能被100整除,或者能被400整除的年份是闰年。
2025-05-19 18:39:41
235
原创 PTA 后天
已知今天的日期,请输出后天的日期。即,对于给定的日期,请计算出该日期加上2天的结果日期。例如:今天的日期为2023-01-21,则后天的日期为2023-01-23。
2023-10-19 16:10:29
1059
原创 最短路径(数据结构)
给定一个有N个顶点和E条边的无向图,顶点从0到N−1编号。请判断给定的两个顶点之间是否有路径存在。如果存在,给出最短路径长度。这里定义顶点到自身的最短路径长度为0。进行搜索时,假设我们总是从编号最小的顶点出发,按编号递增的顺序访问邻接点。
2023-07-24 16:37:40
221
原创 带头结点的单链表插入操作 (数据结构)
本题要求实现带头结点的单链表插入操作,插入成功返回1,否则返回0。L是单链表的头指针,i为插入位置,e是插入的数据元素,插入成功返回1,否则返回0。
2023-06-30 00:16:11
2218
原创 PTA 统计表达式二叉树运算符个数(数据结构)
T是二叉树树根指针,PrintNode函数输出给定二叉树的层次遍历序列中第n个结点,n为结点在层次遍历序列中的序号,从1开始编号。
2023-06-25 10:38:58
586
1
原创 有向图输出入度为0顶点(数据结构)
输出为两行,第一行为入度为0的顶点个数,第二行按照输入顺序输出所有入度为0的顶点元素值。顶点的元素值为字符型,输出格式为每个字符后面跟一个空格。如果没有入度为0的顶点,则输出只有一行,个数为0。第二行给出n个字符,表示n个顶点的数据元素的值。后面是e行,给出每一条弧的两个顶点编号。=0) //列队搜索如果有为1的,则该顶点有出度不唯一。k++,count--) //输出出的为零的顶点。i++) //顶点数。//输出出度为零的个数。
2023-05-24 23:42:46
1076
原创 图的广度遍历-邻接矩阵实现
define MaxVertexNum 10 /*定义最大顶点数*//* 用顶点下标表示顶点,为整型 *//*邻接矩阵*//*图中的顶点数vexnum和边数arcnum*/}MGraph;/*用邻接矩阵表示的图的类型*/
2023-05-07 21:40:03
579
原创 python虫子吃苹果后,还剩下几个完整苹果
你买了一箱n个苹果,很不幸的是买来的时候,箱子里混进了一条虫子。虫子每x小时能吃掉一个苹果,假设虫子在吃完一个苹果之前不会吃另一个,那么经过y小时你还有多少个完整的苹果?
2023-05-05 06:30:00
2193
2
原创 三天打鱼两天晒网python
代码如下:中国有句俗语叫“三天打鱼两天晒网”。假设某人从某天起,开始“三天打鱼两天晒网”,问这个人在以后的第N天中是“打鱼”还是“晒网”?
2023-04-26 08:45:00
3786
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人