一、题目给定一个完全由小写英文字母组成的字符串等差递增序列,该序列中的每个字符串的长度固定为 L,从 L 个 a 开始,以 1 为步长递增。例如当 L 为 3 时,序列为 { aaa, aab, aac, ..., aaz, aba, abb, ..., abz, ..., zzz }。这个序列的倒数第27个字符串就是 zyz。对于任意给定的 L,本题要求你给出对应序列倒数第 N 个字符串。输入格
一、题目时间限制:500ms空间限制:64MB很久以前,有位同学,在学完算法课的二分后,激动的振臂高呼:“我学会二分了!”。此时,一位学长从旁边经过听到此话,决定出一道题考考他,挫挫同学的锐气,让这位学弟再去好好刷二分.学长告诉学弟n个数据,再询问他q次,每次询问告诉学弟一个x,要求学弟在每次询问给出的x的下标。二、解题思路那么我们该怎么根据值找下标呢,如果能做到一对一映射,每个值对应一个下标,实
一、题目小明的一位同学是学霸,他的家中有很多藏书,真可谓汗牛充栋。小明想考一考学霸,给学霸出了一道难题。小明问这么多书籍,到底有多少本不一样的书,每样书的名字是什么?(因为有的书名是一样的,所以我们把它们视为同样的书)学霸就是学霸,张口就说出了答案。不知道你是否也是学霸?一起来挑战下!输入格式第一行是书籍总量n(1<=n<=1e6)。然后有n行书名(书名是一个英文字符串,字符串的长度小
一、题目最近某地连续发生了多起盗窃案件,根据监控和路人提供的线索得知,这是一个犯罪团伙。并且还知道这个犯罪团伙中每个人的身高、体重、年龄。警察想知道这个犯罪团伙中的每个人是不是本市的(如果本市有这个特征的人就认为是本市的)。但本是人口太多,又不能一个一个排查。警察又急需这条信息来缩小范围,所以警察特来找到聪明的你来解决这个棘手的问题。输入格式第一行将会输入两个数字n(1<=n<=2e5
vector解决锯齿矩阵
前言:映射是指两个集合之间的元素相互对应关系。通俗地说,就是一个元素对应另外一元素。我们称其中的姓名集合为关键字集合(key),班级集合为值集合(value)。注意一个key不能对应多个value,这一点和函数法则一样!在C++中我们常用的映射是map。一、构造一个映射在C++中,我们构造一个map的语句是:map<T1,T2> m;这样我们定义了一个名为m的从T1类型到T2类型的映射
引言:集合是数学中的一个概念,集合是由一些不重复的数据组成的。在C++中我们常用的集合是set。一、引用库c++中set的实现在一个<set>头文件中,在代码开头引入这个头文件,并且同样加上一句using namespace std二、构造一个集合C++中直接构造一个set的语句是:set<int>a.这样我们就定义了一个名为a的、储存数据类型为int的集合(与vector
一、用动态数组储存自定义数据动态数组不仅仅可以储存基本的数据类型,还能存储自定义数据类型,比如结构体。二、构造函数减少代码量我们知道可以通过push_back()来向动态数组添加一个元素。如果我们需要一个长度为n的,全是1的动态数组。可以利用循环来写。其实我们可以通过一个构造函数快速构建动态数组。所谓构造函数,就是我们在定义一个对象时可以给他赋予初始值。我们在定义一个vector的时候,调用构造函
前言:有些时候想开一个数组,但是不知道开多大长度的数组合适,因为我们要用到的数组可能会根据情况变得变动。这时候我们就要用到动态数组。所谓动态数组,也就是不定长数组,数组的长度是可以根据我们的需要动态改变的。动态数组的实现也不难,但是在C++里面已经有写好的标准模板库,就是我们常说的STL库,实现了集合、映射、栈、队列等数据结构和排序、查找等算法。我们可以很方便的调用我们的标准库来减少我们的代码量。
一、题目现在要从5位数的十进制数字中找出各个数位之和等于n的回文数字输入格式:输入一个整数n输出格式输出所有各个数位之和等于n的5位数,数字按从小到大的数序排列样例输入33样例输出二、解答通过此次代码联系,我知道了如何找出范围内的回文数字,及逐位输出,更为系统的是,懂得在循环当中,什么需要重置,以免代码出问题!三、源码及注释#define _CRT_SECURE_NO_WARNINGS 1#inc
一、题目先用计算机生成了n(1<=n<=100)个1到1000之间的随机整数,对于其中重复的数字,只保留一个,把其余相同的数去掉。然后再把这些数从大到小排序。总结就是“去重”和“排序”的工作。输入格式共两行,第一行为一个正整数n.第二行有n个用空格隔开的正整数,为所产生的随机数。输出格式第一行输出一个正整数m,表示不相同随机数的个数,第二行输出m个用空格隔开的正整数,为从小到大排好序的
一、题目:给出一个n*m的整数矩阵,请你把这个矩阵顺时针旋转90°以后输出。输入格式:第一行输入两个整数n,m(1<=n,m<=200).用空格隔开。接下来n行,每行输入m个整数,表示输入的矩阵。矩阵中的元素都是int范围内的整数。输出格式:输出m行,每行n个空格隔开的整数,表示旋转以后的矩阵。注意:每行末尾不能输出多余的空格。样例输入和输出:二、思路首先不能被题目带偏,题目要求旋转9
一、题目相信小伙伴们都学过斐波那契数列,它是这样一个数列:1,1,3,5,8,13,21…………用f(n)表示斐波那契数列的第n项,则有:f1=f2=1,fn=fn-1+fn-2(n>2).输入一个n,求出 fn 对10的9次方+7取模结果。输入格式:输入一个整数n(1<=n<=10000)输出格式:输出fn对1000000007的值。二、小技巧和注意事项1、在解决斐波那契数列问
一、题目: 给定一个仅包含大小写字母和空格 ' ' 的字符串,返回其最后一个单词的长度。 如果不存在最后一个单词,请返回 0 。 说明:一个单词是指由字母组成,但不包含任何空格的字符串。 示例: 输入: "Hello World" 输出: 5二、解题思路1、如何输入一个带有空格的字符串使用fgets()函数fgets()函数原型第一个参数是你想自己输入的这段字符串存放
题目:注意事项:1、为什么输入需要使用fgets()函数?因为题目样例中出现了含有空格的字符串,而scanf()getchar()不具有接受空格字符串的能力,而gets()不安全,所以使用fgets()fgets()用法fgets(s2, 1005, stdin);s2表示存放字符串的起始位置,而1005是一个整型num,存放多少个字符,stdin是输入流,需要记住!2、在使用fgets()函数时
题目:解答:#include<iostream> #include<string> using namespace std; int main() { char c;//将数字和字符都考虑进去 cin >> c; if (c >= 'A' && c <= 'Z')//字符类型,else就是数字 { for (in
^异或的性质1、交换律 a^b==b^a2、结合律 (a^b)^c==a^(b^c)3、对于任何数x,都有x^x=0,x^0=x,同自己求异或为0,同0异或为自己4、A^A^B=B,连续和同一个因子做异或运算,最终结果为自己!异或^的例题一、找出唯一成对的数思路:本题只有一个数是成对的,其余数全部单独出现。因此我们可以让这1001个数自己跟自己^,此时单独的数全部
判断奇数/偶数令X&1=1------------奇数 为0------------偶数原因:&操作符,若比较的两个数的二进制位有一个为假(0),则&后就为假(0)因为1的二进制位是000000000000000000000000000001,所以无论什么数&1后除了最后一位,其余位全部变成0,只看最
一、概念递归算法(英语:recursion algorithm)在计算机科学中是指一种通过重复将问题分解为同类的子问题而解决问题的方法。递归式方法可以被用于解决很多的计算机科学问题,因此它是计算机科学中十分重要的一个概念。绝大多数编程语言支持函数的自调用,在这些语言中函数可以通过调用自身来进行递归。计算理论可以证明递归的作用可以完全取代循环,因此在很多函数编程语言中习惯用递归来实现循环。二、分析递
题目:豆豆对数字的执着,让他在理科领域游刃有余,但他近乎疯狂的投入也使父母有些担心,为了让孩子能够全面发展,决定拓宽他的学习领域。正好家旁边有个绘画培训中心,父母就给豆豆报了名。学习绘画的第一天就让豆豆产生了浓厚的兴趣,还主动要求买了很多很多的画笔。画笔有多种颜色,豆豆有一个习惯就是同种颜色的画笔就买两支,一支备用,这样就总共攒了 N 支画笔(N 是偶数且 1<N<100000)。可是
1.打印ASCII码点睛:打印函数中%d 很重要,直接将字符类型转换为10进制,进而打印出ASCII码值2. 分别定义int,short类型的变量各一个,并依次输出它们的存储空间大小(单位:字节)。可以直接在sizeof括号内输入int short3. 分别定义bool,char类型的变量各一个,并依次输出它们的存储空间大小(单位:字节)。新概念:bool类型在C语言中,没有bool这
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号