![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
刷题记录
文章平均质量分 64
勤奋小羊
习惯的养成不在于量,而在于频率!
展开
-
激光镜像(模拟题)
【问题描述】有一个×的网格,其中包含一些实心单元和一些空心单元。网格左上角的坐标为(1, 1),而右下角的坐标为(其中有个实心单元,而其他的则是空心的。这时从坐标为()的单元中心向四个对角方向之一(也就是东北、西北、东南和西南)的方向发射一个激光束,如果激光束遇到实心单元或网格边缘则形成反射或折射,方式如下:一段时间后,激光束将进入一个死循环,计算在进入死循环之前激光束穿越至少一次的空单元格总数,穿越是指穿过单元中心。【输入形式】输入的第一行包含三个整数和(1≤≤1000, 0≤≤1000)。原创 2024-05-06 10:43:05 · 962 阅读 · 0 评论 -
求解平均方差
【代码】求解平均方差。原创 2024-05-06 10:32:19 · 134 阅读 · 0 评论 -
求解ab串
【问题描述】给定一个由字符'a'和字符'b'组成的字符串,可以删除若干字符,使得剩下来的字符串满足前后段为a,中间段为b(aaa....aaabbbb.....bbbbaaa.....aaa),区段可以没有字符(ba,ab,b,aa都是合法的),求最长剩下字符串的长度。【输入形式】输入为一行一个长度不超过5000的非空字符串,字符串仅由字符'a'和字符'b'组成。【输出形式】输出为一个整数,表示符合要求的最长剩下字符串长度【样例输入1】abba【样例输出1】4【样例输入2】bab【样例输出2】原创 2024-05-05 15:32:05 · 358 阅读 · 1 评论 -
旋转对称(模拟题)
【问题描述】将一个圆盘的圆周用等距的个单位(点)划分,点的编号为顺时针从1~,即点和+1 是相邻点,和 1也是相邻点。圆盘上有条线段,它们的端点都在前面的个点上。那么,给定一个这样的圆盘后,怎样确定这个圆盘是否为旋转对称的?也就是说,选定一个正整数,绕圆心顺时针旋转个单位后,新的图像是否跟原有的形状是相同的?【输入形式】输入的第一行为整数, 表示测试数据的组数,接下来是组数据。每组数据的第一行包含两个正整数和(2≤≤ 100000),表示圆周上点的个数以及线段数。接下来的行,第行为两个整数和。原创 2024-05-05 15:28:42 · 560 阅读 · 0 评论 -
内存管理(模拟题)
【问题描述】离第一个操作系统HNU-OS发布已经没有多少时间了,但它的一些组件还没有完成,内存管理器就是其中之一。根据开发人员的计划,在第一个版本中,内存管理器将非常简单和直观。它将支持三个操作:alloc n —— 分配n个字节内存,返回已分配块的正整数标识符x(x初始值为0,每次分配增长1)erase x —— 删除标识符x所在的块defragment —— 整理空余内存碎片,将所有块尽量靠近内存的开始位置,并保持各自的顺序。原创 2024-05-05 15:20:47 · 898 阅读 · 0 评论 -
求解单峰数组
【问题描述】一个整数数组被称为单峰数组,当第一部分为严格递增序列中间部分为常数序列最后部分为严格递减序列第一部分和最后部分都可以缺失例如,下列3个数组的单峰的:[5, 7, 11, 11, 2, 1]、[4, 4, 2]、[7],但是以下3个数组不是单峰的:[5, 5, 6, 6, 1]、[1, 2, 1, 2]、[4, 5, 5, 6]。编写程序判断一个数组是否为单峰的。【输入形式】输入的第一行为一个整数T,表示测试用例的个数。原创 2024-05-05 15:17:16 · 303 阅读 · 0 评论 -
合法的括号串
【问题描述】一个合法的括号串,是指只包含括号的串,如果满足如下条件:(1)<> () [] {} 这四对括号是合法的;(2)如果r是合法括号串,则<r> (r) [r] {r}也是;(3)如果r,s是合法括号串,则rs也是;所以<<>> , [<>{}(())],[({<>})]是合法的括号串,而)(,[( ])就不是。【输入形式】输入第一行正整数t (10 ≤ n ≤ 100),表示有多少组测试数据。后面有t行,每行一个只包含8种括号符号的括号串。原创 2024-05-05 15:14:16 · 232 阅读 · 0 评论 -
计算校验码
校验码的设计是为了使得原数N加上这个校验位后的新数能被B-1整除。这告诉我们需要找到一个合适的校验码,加到N的末尾,使得整体数值模B-1的结果为0。原创 2024-05-05 15:11:05 · 335 阅读 · 0 评论 -
缺席考试的是谁?
【问题描述】程序设计考试结束了,传来个不好的消息:有一个学生没参加考试!需要尽快知道缺席考试的人是谁,以便尽快做出处理。糟糕的是,尽管有签到表,但由于人数较多,签到情况比较混乱:有的签到表签在一张白纸上,有的虽然签在名册上,但并不是签在自己姓名旁,更有学生签到了别的签到表上……现在只能根据这签到表和名册上的2n-1个姓名(n个学生姓名在名册上,n-1个学生签到姓名),来找到缺席考试的人是谁,而且这2n-1个姓名没有什么顺序。唯一一个有利的条件是所有参加考试的人都签了名,且只签一次,签名也都正确无误。原创 2024-05-05 15:06:37 · 376 阅读 · 0 评论 -
E-mail地址
【问题描述】妹儿公司的一个主要业务是提供电子邮件服务,每天都有数以万计的用户在使用该平台收发电子邮件e-mail。然而不幸的是,最近公司的邮件服务器遭受到了网络攻击,几乎所有的邮件内容都受到了破坏,每个邮件都只留下了一个长长的字符串。恢复所有邮件是不可能完成的任务,但似乎从这串留下的字符串中还可以解析出一些可能的e-mail地址,这样公司可以通过向这些解析出的e-mail地址发送邮件以减少用户的损失。一个有效的e-mail地址的形式符合以下原则:1、邮件开始部分必须是字母、数字和‘原创 2024-05-05 14:51:24 · 717 阅读 · 0 评论 -
岁月留痕(连续子数组)
【问题描述】给定n(1 ≤n≤ 24)个正整数,请判断这n个数是否是连续n个月份的天数,这些月份可以跨年度。【输入形式】输入第一行为一个整数n,第二行为n个正整数()(28 ≤ai≤ 31)。【输出形式】输出Yes或No。【样例输入1】4【样例输出1】Yes【样例输入2】230 30【样例输出2】No【样例输入3】5【样例输出3】Yes【样例说明】在第一个样例中,连续4个数是7、8、9、10月份的天数。原创 2024-05-05 14:48:32 · 296 阅读 · 0 评论 -
最大连续和
【问题描述】对于一个具有个元素的整型数组,求具有最大连续和的子数组(最少具有一个元素)。【输入形式】输入的第一行为一个整数,接下来的一行为个整数,表示数组的元素。【输出形式】输出具有最大连续和的子数组的起始编号和结束编号(数组编号为0~n-1)。【样例输入】8【样例输出】2 5。原创 2024-05-05 14:43:12 · 149 阅读 · 0 评论 -
最少钱币数(凑硬币)
while(true)下,从命令行键入M钱数值,M = 0结束。从命令行键入币种数量K,以及K个数值用数组coins表示。时所需的最小硬币数量,初始值设为一个较大的数(2001)。,返回字符串 "Impossible";设为 0,表示找零金额为 0 时需要的硬币数量为 0。中的较小值,表示在使用当前硬币时找零金额为。仍然为初始值 2001,则说明无法凑出金额。创建整型数组dp[],用于存储找零金额为。需要的最小硬币数量。需要的最小硬币数量。原创 2024-05-05 14:35:15 · 216 阅读 · 0 评论 -
二叉树遍历,从前序、中序到后序
每组测试数据第二行是二叉树的前序遍历的结果,是一个长度为n的字符串,每个节点由一个字符表示,字符是大小写英文字母及10个数字,不同的节点用不同的字符表示,也即无论前序遍历和中序遍历的字符串中没有重复的字符。需要你编写程序解决的问题是:已知一个二叉树的前序遍历和中序遍历的结果,给出该二叉树的后序遍历的结果。对于每组测试数据,输出一行,是一个长度为n的字符串,表示二叉树后序遍历的结果。每组测试数据第二行是二叉树的中序遍历的结果,也是一个长度为n的字符串。前序遍历:根结点 ---> 左子树 ---> 右子树。原创 2024-05-05 14:27:19 · 421 阅读 · 0 评论 -
动物园的栅栏
【问题描述】小芳和她的朋友们沿着高度为的动物园栅栏一起行走,他们不想惊扰到动物们,因此他们每个人的高度都不能超过,如果他们中有人身高超过,则他必须弯下腰来行走。如果将正常行走的人的宽度视为1的话,那么当他弯下腰的时候宽度会变为2。小芳的朋友们想一边走一边聊天,他们希望尽量走成一排,但是道路宽度是有限的,因此可能要分成几排来行走。给出朋友们的人数(包括小芳)、栅栏的高度以及道路的宽度,以及所有个朋友的身高,请输出最少能走成几排?【输入形式】输出的第一行为三个整数,接下来的一行个整数,分别表示。原创 2024-05-05 14:21:44 · 185 阅读 · 1 评论 -
闰年的数目
【问题描述】闰年是公历中的名词。普通年(不能被100整除的年份)能被4整除的为。(如2004年就是,1999年不是世纪年(能被100整除的年份)能被400整除的是闰年。(如2000年是闰年,1900年不是闰年);闰年(Leap Year)是为了弥补因人为历法规定造成的年度天数与地球实际公转周期的时间差而设立的。计算两个年份之间有多少闰年。比如2000年到2004年之间有2个闰年。而2000年到2300年之间有73个闰年。【输入形式】原创 2024-05-05 14:18:56 · 474 阅读 · 0 评论 -
202209-1 如此编码
CSP认证 202209-1 如此编码原创 2022-10-19 22:57:13 · 149 阅读 · 0 评论 -
CCF-CSP认证 —— 202112-1 序列查询
202112-1 序列查询题目链接:http://118.190.20.162/view.page?gpid=T138题意整数序列A=[A0,A1,A2,… ,An],序列长度是n+1,序列数值范围[0,N)。对于序列A中存在任意的整数x,f(x)是序列A中小于等于x的整数里最大的下标。存在两种情况:x在序列A的数值范围内x大于序列A中的所有数值求:根据给定的序列,求sum(A),sum(A)是f(0)-f(N-1)的总和思路可以看出求sum(A),就是求前缀和和查分根据样例1原创 2022-02-20 15:41:30 · 1345 阅读 · 0 评论 -
CCF-CSP认证 —— 202109-1 数组推导
202109-1数组推导题目链接:202109-1 数组推导题意已知数组An的单调递增的前缀最大值Bi,反推数组A的所有取值情况,sum为数组A中n个数的总和,求sum的最大值和最小值。思路求最大值:将输入的数据求和求最小值:将输入的数进行去重操作,再求和解题思路输入数据:可以先存后用,也可以边存边用,本方法采用现存后用求最大值:for循环遍历输入数据求和求最小值:基于最小的初值进行比较,通过for循环将输入的数据去重后,再求和输出数据:将最大值和最小值输出代码#include原创 2022-02-22 09:36:09 · 666 阅读 · 0 评论 -
59. 螺旋矩阵II
给定一个正整数 n,生成一个包含 1 到 n^2 所有元素,且元素按顺时针顺序螺旋排列的正方形矩阵。示例:输入: 3 输出: [ [ 1, 2, 3 ], [ 8, 9, 4 ], [ 7, 6, 5 ] ]原创 2023-04-02 17:13:06 · 54 阅读 · 0 评论 -
160. 相交链表
给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点,返回 null 。图示两个链表在节点 c1 开始相交:题目数据 保证 整个链式结构中不存在环。注意,函数返回结果后,链表必须 保持其原始结构 。自定义评测:评测系统 的输入如下(你设计的程序 不适用 此输入):intersectVal - 相交的起始节点的值。如果不存在相交节点,这一值为 0listA - 第一个链表listB - 第二个链表skipA - 在 listA 中(从头原创 2023-04-02 17:00:54 · 243 阅读 · 0 评论 -
141. 环形链表
给你一个链表的头节点 head ,判断链表中是否有环。如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。注意:pos 不作为参数进行传递 。仅仅是为了标识链表的实际情况。如果链表中存在环 ,则返回 true 。 否则,返回 false 。示例1:示例2:示例3:提示:进阶:你能用 (即,常量)内存解决此问题吗?逻辑上:遍历所有节点,每次遍历到一个节点,判断该节点是否原创 2023-03-23 19:44:25 · 172 阅读 · 0 评论 -
704. 二分查找
本篇根据两种常见的区间定义,给出了两种二分法的写法,每一个边界为什么这么处理,都根据区间的定义做了详细介绍。理解区间的定义在循环中始终坚持根据查找区间的定义来做边界处理。区间的定义就是不变量,那么在循环中坚持根据查找区间的定义来做边界处理,就是循环不变量规则。原创 2023-04-02 17:06:52 · 354 阅读 · 0 评论 -
136. 只出现一次的数字
总结异或位运算方法给你一个非空整数 nums ,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。你必须设计并实现线性时间复杂度的算法来解决此问题,且该算法只使用常量额外空间。原创 2023-03-22 17:32:52 · 198 阅读 · 0 评论 -
27. 移除元素
给你一个数组 nums 和一个值 val,你需要原地移除所有数值等于 val 的元素,并返回移除后数组的新长度。不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并修改输入数组。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。示例 1: 给定 nums = [3,2,2,3], val = 3, 函数应该返回新的长度 2, 并且 nums 中的前两个元素均为 2。你不需要考虑数组中超出新长度后面的元素。原创 2023-04-02 17:10:40 · 229 阅读 · 0 评论 -
101. 对称二叉树
总结求解左右子树互为镜像给你一个二叉树的根节点root, 检查它是否轴对称。[1, 1000]原创 2023-03-21 09:58:22 · 93 阅读 · 0 评论 -
70. 爬楼梯
总结easy题。题目形成的数列正好是斐波那契数列,答案要求的fn即是斐波拉契数列的第n项(下标从0开始),本题可按照求解斐波拉契第n项的求解方法。nO2nOnfx−2fxfx−1fx−2O1OnOlogn假设你正在爬楼梯。需要n阶你才能到达楼顶。每次你可以爬1或2个台阶。你有多少种不同的方法可以爬到楼顶呢?说明:给定n是一个正整数。原创 2023-03-20 15:27:24 · 197 阅读 · 0 评论 -
104. 二叉树的最大深度
给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。说明: 叶子节点是指没有子节点的节点。示例1:给定二叉树 ,返回它的最大深度 3 。左子树和右子树的最大深度lll 和rrr,那么该二叉树的最大深度即为max(l,r)+1max(l,r)+1max(l,r)+1深度优先搜索:复杂度分析时间复杂度:O(n)O(n)O(n),其中n为二叉树节点的个数。每个节点在递归中只被遍历一次。空间复杂度:O(height)O(height)O(height),其中 h原创 2023-03-21 10:33:36 · 228 阅读 · 0 评论 -
121. 买卖股票的最佳时机
总结一次遍历方法给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回 0。解决方案:找出给定数组中两个数字之间的最大差值(即,最大利润)。此外,第二个数字(卖出价格)必须大于第一个数字(买入价格)。形式上,对于每组 i 和 j (其中 j>i ),找出ma。原创 2023-03-22 17:36:50 · 229 阅读 · 0 评论 -
94. 二叉树的中序遍历
总结给定一个二叉树的根节点root,返回它的遍历。[0, 100]原创 2023-03-20 16:11:43 · 199 阅读 · 0 评论 -
206. 反转链表
给你单链表的头节点 ,请你反转链表,并返回反转后的链表。示例1:示例2:示例3:提示:进阶:链表可以选用迭代或递归方式完成反转。你能否用两种方法解决这道题?在遍历链表时,将当前节点的 next 指针改为指向前一个节点。由于节点没有引用其前一个节点,因此必须事先存储其前一个节点。在更改引用之前,还需要存储后一个节点。最后返回新的头引用。原创 2023-04-02 17:03:27 · 424 阅读 · 0 评论 -
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]原创 2023-04-02 17:09:38 · 272 阅读 · 0 评论 -
209. 长度最小的子数组
给定一个含有 n 个正整数的数组和一个正整数 s ,找出该数组中满足其和 ≥ s 的长度最小的 连续 子数组,并返回其长度。如果不存在符合条件的子数组,返回 0。示例:输入:s = 7, nums = [2,3,1,2,4,3] 输出:2 解释:子数组 [4,3] 是该条件下的长度最小的子数组。原创 2023-04-02 17:11:27 · 357 阅读 · 0 评论 -
求解亲和数
【问题描述】古希腊数学家毕达哥拉斯在自然数研究中发现,220的所有真约数(即不是自身 的约数)之和为: 1+2+4+5+10+11+20+22+44+55+110=284。而284的所有真约数为1、2、4、71、142,加起来恰好为220。人 们对这样的数感到很惊奇,并称之为亲和数。一般地讲,如果两个数中任何一个数都是另一个数的真约数 之和,则这两个数就是亲和数。220和284是人类最早发现,又是最小的一对亲和数。原创 2024-05-05 14:12:19 · 331 阅读 · 1 评论