C++
suxiaorui
孤独与我 随风相伴
展开
-
Leetcode—— 209. 长度最小的子数组
209. 长度最小的子数组给定一个含有n个正整数的数组和一个正整数 target 。找出该数组中满足其和 ≥ target 的长度最小的 连续子数组[numsl, numsl+1, ..., numsr-1, numsr] ,并返回其长度。如果不存在符合条件的子数组,返回 0 。示例 1:输入:target = 7, nums = [2,3,1,2,4,3]输出:2解释:子数组[4,3]是该条件下的长度最小的子数组。示例 2:输入:target = 4, nums =...原创 2021-11-03 10:17:55 · 199 阅读 · 0 评论 -
acwing 93. 递归实现组合型枚举
93. 递归实现组合型枚举从1∼n这n个整数中随机选出m个,输出所有可能的选择方案。输入格式两个整数n,m在同一行用空格隔开。输出格式按照从小到大的顺序输出所有方案,每行1个。首先,同一行内的数升序排列,相邻两个数用一个空格隔开。其次,对于两个不同的行,对应下标的数一一比较,字典序较小的排在前面(例如1 3 5 7排在1 3 6 8前面)。数据范围n>0,0≤m≤n,n+(n−m)≤25输入样例:5 3输出样例:1...原创 2021-10-29 18:52:44 · 241 阅读 · 0 评论 -
acwing 92. 递归实现指数型枚举
92. 递归实现指数型枚举从1∼n这n个整数中随机选取任意多个,输出所有可能的选择方案。输入格式输入一个整数n。输出格式每行输出一种方案。同一行内的数必须升序排列,相邻两个数用恰好1个空格隔开。对于没有选任何数的方案,输出空行。本题有自定义校验器(SPJ),各行(不同方案)之间的顺序任意。数据范围1≤n≤15输入样例:3输出样例:322 311 31 21 2 3程序代码:#include <iostr...原创 2021-10-29 18:47:46 · 257 阅读 · 0 评论 -
acwing 1208. 翻硬币
1208. 翻硬币小明正在玩一个“翻硬币”的游戏。桌上放着排成一排的若干硬币。我们用 * 表示正面,用 o 表示反面(是小写字母,不是零)。比如,可能情形是:**oo***oooo如果同时翻转左边的两个硬币,则变为:oooo***oooo现在小明的问题是:如果已知了初始状态和要达到的目标状态,每次只能同时翻转相邻的两个硬币,那么对特定的局面,最少要翻动多少次呢?我们约定:把翻动相邻的两个硬币叫做一步操作。输入格式两行等长的字符串,分别表示初始状态和要达到的目标状态。输出格原创 2021-10-28 19:57:57 · 223 阅读 · 0 评论 -
acwing——875.快速幂
875.快速幂给定nn组ai,bi,piai,bi,pi,对于每组数据,求出abiimodpiaibimodpi的值。输入格式第一行包含整数nn。接下来nn行,每行包含三个整数ai,bi,piai,bi,pi。输出格式对于每组数据,输出一个结果,表示abiimodpiaibimodpi的值。每个结果占一行。数据范围1≤n≤1000001≤n≤100000,1≤ai,bi,pi≤2×1091≤ai,bi,pi≤2×109输入样例:23 2...原创 2021-10-28 19:17:35 · 232 阅读 · 0 评论 -
位运算基础认识
位运算简介 我们所写的程序中的所有数字在计算机内存中都是以二进制的形式存储的,位运算就是直接对所存储的二进制位进行操作运算。位运算分类1.按位与运算符号:&运算规则:将参与运算的两个操作数各自对应的二进制位进行与操作,只有对应的两个二进位都为1时,结果的对应二进制位才为1,否则为0。0&0=0 0&1=0 1&0=0 1&1=13&5 = 1 3的低8位二进制:0000 00118的低8位二进制:0000...原创 2021-10-28 19:07:57 · 1154 阅读 · 0 评论 -
CCF-201809-2-买菜
CCF-201809-2-买菜问题描述试题编号: 201809-2 试题名称: 买菜 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 小H和小W来到了一条街上,两人分开买菜,他们买菜的过程可以描述为,去店里买一些菜然后去旁边的一个广场把菜装上车,两人都要买n种菜,所以也都要装n次车。具体的,对于小H来说有n个不相交的时间段[a1,b1],[a2,b2]...[an,bn]在装车,对于小W来说有n个不相交的时间段原创 2020-08-10 23:15:20 · 464 阅读 · 0 评论 -
CCF-201509-2 日期计算
CCF201509-2 日期计算问题描述试题编号: 201509-2 试题名称: 日期计算 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 给定一个年份y和一个整数d,问这一年的第d天是几月几日? 注意闰年的2月有29天。满足下面条件之一的是闰年: 1) 年份是4的整数倍,而且不是100的整数倍; 2) 年份是400的整数倍。 输入格式 输入的第一行包含一个整数原创 2020-08-08 21:04:28 · 300 阅读 · 0 评论 -
CCF-201409-3 字符串匹配
CCF-201409-3 字符串匹配问题描述试题编号: 201409-3 试题名称: 字符串匹配 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 给出一个字符串和多行文字,在这些文字中找到字符串出现的那些行。你的程序还需支持大小写敏感选项:当选项打开时,表示同一个字母的大写和小写看作不同的字符;当选项关闭时,表示同一个字母的大写和小写看作相同的字符。 输入格式 输入的第一行包含一个字符串S,原创 2020-08-08 20:51:44 · 342 阅读 · 0 评论 -
CCF-2015032-数字排序
2015032-数字排序问题描述试题编号: 201503-2 试题名称: 数字排序 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 给定n个整数,请统计出每个整数出现的次数,按出现次数从多到少的顺序输出。 输入格式 输入的第一行包含一个整数n,表示给定数字的个数。 第二行包含n个整数,相邻的整数之间用一个空格分隔,表示所给定的整数。 输出格式 输出多行,每行包含原创 2020-08-06 19:41:22 · 248 阅读 · 0 评论 -
acwing——844. 走迷宫
acwing——844. 走迷宫给定一个n*m的二维整数数组,用来表示一个迷宫,数组中只包含0或1,其中0表示可以走的路,1表示不可通过的墙壁。最初,有一个人位于左上角(1, 1)处,已知该人每次可以向上、下、左、右任意一个方向移动一个位置。请问,该人从左上角移动至右下角(n, m)处,至少需要移动多少次。数据保证(1, 1)处和(n, m)处的数字为0,且一定至少存在一条通路。输入格式第一行包含两个整数n和m。接下来n行,每行包含m个整数(0或1),表示完整的二维数组迷宫。原创 2020-08-06 19:05:45 · 1836 阅读 · 0 评论 -
CCF-201409-2-画图
CCF-201409-2-画图问题描述试题编号: 201409-2 试题名称: 画图 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 在一个定义了直角坐标系的纸上,画一个(x1,y1)到(x2,y2)的矩形指将横坐标范围从x1到x2,纵坐标范围从y1到y2之间的区域涂上颜色。 下图给出了一个画了两个矩形的例子。第一个矩形是(1,1) 到(4, 4),用绿色和紫色表示。第二个矩形是(2, 3)到(6,原创 2020-08-05 23:37:08 · 271 阅读 · 0 评论 -
CCF-201312-2-ISBN号码
CCF-201312-2-ISBN号码问题描述试题编号: 201312-2 试题名称: ISBN号码 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 每一本正式出版的图书都有一个ISBN号码与之对应,ISBN码包括9位数字、1位识别码和3位分隔符,其规定格式如“x-xxx-xxxxx-x”,其中符号“-”是分隔符(键盘上的减号),最后一位是识别码,例如0-670-82162-4就是一个标准的ISBN码。ISBN原创 2020-08-04 22:58:15 · 166 阅读 · 0 评论 -
CCF-201909-1小明种苹果
CCF-201909-1小明种苹果问题描述试题编号: 201909-1 试题名称: 小明种苹果 时间限制: 2.0s 内存限制: 512.0MB 程序代码:#include<iostream>using namespace std;int main(){ int n, m; int t = 0, k = 0, p = -1; cin>>n>>m; for(int i=0;i<n;i++).原创 2020-08-03 18:31:34 · 345 阅读 · 0 评论 -
CCF-201903-1-小中大
CCF-201903-1-小中大问题描述试题编号: 201903-1 试题名称: 小中大 时间限制: 1.0s 内存限制: 512.0MB 程序代码:#include<iostream>#include<algorithm>using namespace std;const int N = 1e5 + 10;float q[N];int main(){ int n; cin>>n; for.原创 2020-08-03 17:59:16 · 266 阅读 · 0 评论 -
CCF-201812-1小明上学
CCF-201812-1小明上学问题描述试题编号: 201812-1 试题名称: 小明上学 时间限制: 1.0s 内存限制: 512.0MB 问题描述: 题目背景 小明是汉东省政法大学附属中学的一名学生,他每天都要骑自行车往返于家和学校。为了能尽可能充足地睡眠,他希望能够预计自己上学所需要的时间。他上学需要经过数段道路,相邻两段道路之间设有至多一盏红绿灯。 京州市的红绿灯是这样工作的:每盏红绿灯有红、黄、绿三盏灯和一个能够显原创 2020-08-03 17:18:15 · 245 阅读 · 0 评论 -
CCF-201809-1卖菜
问题描述试题编号: 201809-1 试题名称: 卖菜 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 在一条街上有n个卖菜的商店,按1至n的顺序排成一排,这些商店都卖一种蔬菜。 第一天,每个商店都自己定了一个价格。店主们希望自己的菜价和其他商店的一致,第二天,每一家商店都会根据他自己和相邻商店的价格调整自己的价格。具体的,每家商店都会将第二天的菜价设置为自己和相邻商店第一天菜价的平均值(用去尾法取整)。原创 2020-08-02 20:51:34 · 329 阅读 · 0 评论 -
CCF-20180301-跳一跳
CCF-201803-1跳一跳问题描述试题编号: 201803-1 试题名称: 跳一跳 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 近来,跳一跳这款小游戏风靡全国,受到不少玩家的喜爱。 简化后的跳一跳规则如下:玩家每次从当前方块跳到下一个方块,如果没有跳到下一个方块上则游戏结束。 如果跳到了方块上,但没有跳到方块的中心则获得1分;跳到方块中心时,若上一次的得分为1分或这是本局游戏的第一次原创 2020-08-02 20:43:00 · 181 阅读 · 0 评论 -
CCF-20171201-最小差值
CCF-20171201-最小差值问题描述试题编号: 201712-1 试题名称: 最小差值 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 给定n个数,请找出其中相差(差的绝对值)最小的两个数,输出它们的差值的绝对值。 输入格式 输入第一行包含一个整数n。 第二行包含n个正整数,相邻整数之间使用一个空格分隔。 输出格式 输出一个整数,表示答案。 样例输原创 2020-08-02 20:31:11 · 172 阅读 · 0 评论 -
CCF-20170901-打酱油
问题描述试题编号: 201709-1 试题名称: 打酱油 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 小明带着N元钱去买酱油。酱油10块钱一瓶,商家进行促销,每买3瓶送1瓶,或者每买5瓶送2瓶。请问小明最多可以得到多少瓶酱油。 输入格式 输入的第一行包含一个整数N,表示小明可用于买酱油的钱数。N是10的整数倍,N不超过300。 输出格式 输出一个整数,表示小明最多可...原创 2020-08-02 20:07:48 · 196 阅读 · 0 评论 -
CCF-20170301-分蛋糕
CCF-20170301-分蛋糕问题描述试题编号: 201703-1 试题名称: 分蛋糕 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 小明今天生日,他有n块蛋糕要分给朋友们吃,这n块蛋糕(编号为1到n)的重量分别为a1,a2, …,an。小明想分给每个朋友至少重量为k的蛋糕。小明的朋友们已经排好队准备领蛋糕,对于每个朋友,小明总是先将自己手中编号最小的蛋糕分给他,当这个朋友所分得蛋糕的重量不到k时,再继..原创 2020-08-02 19:42:28 · 178 阅读 · 0 评论 -
CCF-20161201-中间数
CCF-20161201-中间数问题描述试题编号: 201612-1 试题名称: 中间数 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 在一个整数序列a1,a2, …,an中,如果存在某个数,大于它的整数数量等于小于它的整数数量,则称其为中间数。在一个序列中,可能存在多个下标不相同的中间数,这些中间数的值是相同的。 给定一个整数序列,请找出这个整数序列的中间数的值。 输入格式 ..原创 2020-08-02 19:23:43 · 159 阅读 · 0 评论 -
CCF-20160901-最大波动
CCF-20160901-最大波动问题描述试题编号: 201609-1 试题名称: 最大波动 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 小明正在利用股票的波动程度来研究股票。小明拿到了一只股票每天收盘时的价格,他想知道,这只股票连续几天的最大波动值是多少,即在这几天中某天收盘价格与前一天收盘价格之差的绝对值最大是多少。 输入格式 输入的第一行包含了一个整数n,表示小明拿到的收盘价格的连原创 2020-07-31 12:46:20 · 215 阅读 · 0 评论 -
CCF-20160401-折点计数
CCF-20160401-折点计数问题描述试题编号: 201604-1 试题名称: 折点计数 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 给定n个整数表示一个商店连续n天的销售量。如果某天之前销售量在增长,而后一天销售量减少,则称这一天为折点,反过来如果之前销售量减少而后一天销售量增长,也称这一天为折点。其他的天都不是折点。如下图中,第3天和第6天是折点。正在上传…重新上传取消 给定n个整数a1,原创 2020-07-31 12:15:37 · 194 阅读 · 0 评论 -
CCF-20150901-数列分段
CCF-20150901-数列分段问题描述试题编号: 201512-1 试题名称: 数位之和 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 给定一个十进制整数n,输出n的各位数字之和。 输入格式 输入一个整数n。 输出格式 输出一个整数,表示答案。 样例输入 20151220 样例输出 13 样例说明 20151220原创 2020-07-31 11:51:20 · 139 阅读 · 0 评论 -
CCF-20150901-数列分段
CCF-20150901-数列分段问题描述试题编号: 201509-1 试题名称: 数列分段 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 给定一个整数数列,数列中连续相同的最长整数序列算成一段,问数列中共有多少段? 输入格式 输入的第一行包含一个整数n,表示数列中整数的个数。 第二行包含n个整数a1,a2, …,an,表示给定的数列,相邻的整数之间用一个空格分隔。 ..原创 2020-07-29 23:36:48 · 188 阅读 · 0 评论 -
CCF-20150301-图像旋转
CCF-20150301-图像旋转问题描述试题编号: 201503-1 试题名称: 图像旋转 时间限制: 5.0s 内存限制: 256.0MB 问题描述: 问题描述 旋转是图像处理的基本操作,在这个问题中,你需要将一个图像逆时针旋转90度。 计算机中的图像表示可以用一个矩阵来表示,为了旋转一个图像,只需要将对应的矩阵旋转即可。 输入格式 输入的第一行包含两个整数n,m,分别表示图像矩阵的行数和列数。 .原创 2020-07-29 23:24:06 · 151 阅读 · 0 评论 -
CCF-20141201-门禁系统
CCF-20141201-门禁系统问题描述试题编号: 201412-1 试题名称: 门禁系统 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 涛涛最近要负责图书馆的管理工作,需要记录下每天读者的到访情况。每位读者有一个编号,每条记录用读者的编号来表示。给出读者的来访记录,请问每一条记录中的读者是第几次出现。 输入格式 输入的第一行包含一个整数n,表示涛涛的记录条数。 第二行包含n个原创 2020-07-29 23:22:36 · 208 阅读 · 0 评论 -
CCF-20140901-相邻数对
CCF-20140901-相邻数对问题描述试题编号: 201409-1 试题名称: 相邻数对 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 给定n个不同的整数,问这些数中有多少对整数,它们的值正好相差1。 输入格式 输入的第一行包含一个整数n,表示给定整数的个数。 第二行包含所给定的n个整数。 输出格式 输出一个整数,表示值正好相差1的数对的个数。 样原创 2020-07-25 18:50:37 · 138 阅读 · 0 评论 -
CCF-20140301-相反数
20140301-相反数问题描述试题编号: 201403-1 试题名称: 相反数 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 有 N 个非零且各不相同的整数。请你编一个程序求出它们中有多少对相反数(a 和 -a 为一对相反数)。 输入格式 第一行包含一个正整数 N。(1 ≤ N ≤ 500)。 第二行为 N 个用单个空格隔开的非零整数,每个数的绝对值不超过1000,保证这些整数原创 2020-07-25 18:45:06 · 200 阅读 · 0 评论 -
CCF-20131201-出现次数最多的数
20131201-出现次数最多的数问题描述试题编号: 201312-1 试题名称: 出现次数最多的数 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 给定n个正整数,找出它们中出现次数最多的数。如果这样的数有多个,请输出其中最小的一个。 输入格式 输入的第一行只有一个正整数n(1 ≤ n ≤ 1000),表示数字的个数。 输入的第二行有n个整数s1, s2, …, sn(1 ≤ .原创 2020-07-25 18:28:59 · 173 阅读 · 0 评论 -
acwing——836. 合并集合
836. 合并集合一共有n个数,编号是1~n,最开始每个数各自在一个集合中。现在要进行m个操作,操作共有两种:“M a b”,将编号为a和b的两个数所在的集合合并,如果两个数已经在同一个集合中,则忽略这个操作;“Q a b”,询问编号为a和b的两个数是否在同一个集合中;输入格式第一行输入整数n和m。接下来m行,每行包含一个操作指令,指令为“M a b”或“Q a b”中的一种。输出格式对于每个询问指令”Q a b”,都要输出一个结果,如果a和b在同一集合内,则输出“Yes”,否则输出“No原创 2020-07-20 22:24:31 · 529 阅读 · 0 评论 -
acwing——835. Trie字符串统计
835. Trie字符串统计维护一个字符串集合,支持两种操作:“I x”向集合中插入一个字符串x;“Q x”询问一个字符串在集合中出现了多少次。共有N个操作,输入的字符串总长度不超过 105,字符串仅包含小写英文字母。输入格式第一行包含整数N,表示操作数。接下来N行,每行包含一个操作指令,指令为”I x”或”Q x”中的一种。输出格式对于每个询问指令”Q x”,都要输出一个整数作为结果,表示x在集合中出现的次数。每个结果占一行。数据范围1≤N≤2∗104输入样例:5I abc原创 2020-07-20 21:55:40 · 489 阅读 · 0 评论 -
acwing——799. 最长连续不重复子序列
799. 最长连续不重复子序列给定一个长度为n的整数序列,请找出最长的不包含重复数字的连续区间,输出它的长度。输入格式第一行包含整数n。第二行包含n个整数(均在0~100000范围内),表示整数序列。输出格式共一行,包含一个整数,表示最长的不包含重复数字的连续子序列的长度。数据范围1≤n≤100000输入样例:51 2 2 3 5输出样例:3解题思路:双指针算法。i 为块指针,j 为慢指针,j 的位置定义为 i 对应的最长不重复序列的 j 的位置,因为不重复,i 和 j 元素都原创 2020-05-19 21:03:24 · 3464 阅读 · 0 评论 -
acwing——800. 数组元素的目标和
800. 数组元素的目标和给定两个升序排序的有序数组A和B,以及一个目标值x。数组下标从0开始。请你求出满足A[i] + B[j] = x的数对(i, j)。数据保证有唯一解。输入格式第一行包含三个整数n,m,x,分别表示A的长度,B的长度以及目标值x。第二行包含n个整数,表示数组A。第三行包含m个整数,表示数组B。输出格式共一行,包含两个整数 i 和 j。数据范围数组长度不超过100000。同一数组内元素各不相同。1≤数组元素≤109输入样例:4 5 61 2 4 73原创 2020-05-19 20:28:13 · 542 阅读 · 0 评论 -
Leetcode——面试题53 - II. 0~n-1中缺失的数字
799. 最长连续不重复子序列给定一个长度为n的整数序列,请找出最长的不包含重复数字的连续区间,输出它的长度。输入格式第一行包含整数n。第二行包含n个整数(均在0~100000范围内),表示整数序列。输出格式共一行,包含一个整数,表示最长的不包含重复数字的连续子序列的长度。数据范围1≤n≤100000输入样例:51 2 2 3 5输出样例:3解题...原创 2020-05-15 23:22:17 · 255 阅读 · 0 评论 -
王道数据结构—线性表的链式表示应用题1
线性表的链式表示应用题1题目一设计一个递归算法,删除不带头结点的单链表 L 的所有值 为 x的结点算法思路:终止条件:若L为空表,则返回。递归主体:若 L->data == x,删除此结点,继续递归下一个结点。若 L->data != x ,递归下一个结点。 算法需要解除一个递归工作栈,深度为 O(n),时间复杂度为 O(n)。程序代码:void Del_x(LinkList &L, Elemtype x)//递归实现在单链表L中删除值为x的结点 { LNode原创 2020-05-10 23:52:40 · 489 阅读 · 1 评论 -
王道数据结构—线性表的顺序表示应用题1
数据结构—线性表的顺序表示应用题-11 从顺序表中删除具有最小值的元素(假设唯一)并由函数返回被删元素的值。空出的位置由最后一个元素填补,若顺序表为空则显示出错信息并退出运行。算法思想:搜索整个顺序表,查找最小值元素并记住其位置,搜索结束后用最后一个元素填补空出的原最小值元素的位置。代码://删除顺序表中最小值元素结点,并通过引用型参数 x 返回其值//若删除成功,则返回true;否...原创 2020-05-05 14:26:22 · 400 阅读 · 0 评论 -
王道数据结构—线性表的顺序表示应用题2
数据结构—线性表的顺序表示应用题-11 从顺序表中删除具有最小值的元素(假设唯一)并由函数返回被删元素的值。空出的位置由最后一个元素填补,若顺序表为空则显示出错信息并退出运行。算法思想:搜索整个顺序表,查找最小值元素并记住其位置,搜索结束后用最后一个元素填补空出的原最小值元素的位置。代码://删除顺序表中最小值元素结点,并通过引用型参数 x 返回其值//若删除成功,则返回true;否...原创 2020-05-07 18:46:25 · 324 阅读 · 0 评论 -
acwing——798. 差分矩阵
798. 差分矩阵输入一个n行m列的整数矩阵,再输入q个操作,每个操作包含五个整数x1, y1, x2, y2, c,其中(x1, y1)和(x2, y2)表示一个子矩阵的左上角坐标和右下角坐标。每个操作都要将选中的子矩阵中的每个元素的值加上c。请你将进行完所有操作后的矩阵输出。输入格式第一行包含整数n,m,q。接下来n行,每行包含m个整数,表示整数矩阵。接下来q行,每...原创 2020-05-07 17:17:15 · 721 阅读 · 0 评论