刷题与算法
文章平均质量分 53
LittleAshes
这个作者很懒,什么都没留下…
展开
-
排序类算法
文章目录利用vector进行排序数字类元素字符串类元素利用其他STL容器排序mapsetpriority_queue利用vector进行排序数字类元素 每个元素一般包含多个条件,利用lambda编写特定排序条件,用sort完成排序。涉及的知识点:sort函数以及排序规则默认是std::less<type>, 即较小的元素在前;std::greater<type>,较大元素先序;也可以编写自定义排序函数,包括lambda、函数对象、普通函数等。自定义排序规则时,需要原创 2022-04-05 21:46:17 · 307 阅读 · 0 评论 -
位运算及其应用
文章目录位运算基础知识与或非异或进阶应用lowbit状态压缩位运算基础知识与或非异或进阶应用lowbit 返回二进制数的最低位1的值。int LowBit(int n){ return (n & -n);}int GetBit(int n){ int ans = 0; for (int num = n; num > 0; num -= LowBit(num)){ cout << LowBit(num) <&原创 2022-03-29 00:25:41 · 353 阅读 · 0 评论 -
双指针套路总结
对于数组的问题,常用的方法是双指针,首先为什么要用双指针,实质就是为了把已处理和未处理的数组元素区分开,也就是说通过两个指针,把数组分成3个部分。 在遇到有序数组时,第一应该想到的就是双指针。具体实现上包括:快、慢指针;对撞指针;滑动窗口;...原创 2021-02-28 19:53:00 · 167 阅读 · 0 评论 -
有理数均值
本题要求编写程序,计算N个有理数的平均值。输入格式:输入第一行给出正整数N(≤100);第二行中按照a1/b1 a2/b2 …的格式给出N个分数形式的有理数,其中分子和分母全是整形范围内的整数;如果是负数,则负号一定出现在最前面。输出格式:在一行中按照a/b的格式输出N个有理数的平均值。注意必须是该有理数的最简分数形式,若分母为1,则只输出分子。输入样例1:41/2 1/6 3/6 -5/10输出样例1:1/6输入样例2:24/3 2/3输出样例2:1原始链接:http原创 2020-07-02 23:19:26 · 1115 阅读 · 0 评论 -
通讯录的录入与显示
通讯录中的一条记录包含下述基本信息:朋友的姓名、出生日期、性别、固定电话号码、移动电话号码。 本题要求编写程序,录入N条记录,并且根据要求显示任意某条记录。输入格式:输入在第一行给出正整数N(≤10);随后N行,每行按照格式姓名 生日 性别 固话 手机给出一条记录。其中姓名是不超过10个字符、不包含空格的非空字符串;生日按yyyy/mm/dd的格式给出年月日;性别用M表示“男”、F表示“女”;固话和手机均为不超过15位的连续数字,前面有可能出现+。在通讯录记录输入完成后,最后一行给出正整数K,并且随后原创 2020-06-22 21:58:29 · 2974 阅读 · 1 评论 -
说反话-加强版
给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出。输入格式:测试输入包含一个测试用例,在一行内给出总长度不超过500 000的字符串。字符串由若干单词和若干空格组成,其中单词是由英文字母(大小写有区分)组成的字符串,单词之间用若干个空格分开。输出格式:每个测试用例的输出占一行,输出倒序后的句子,并且保证单词间只有1个空格。输入样例:Hello World Here I Come输出样例:Come I Here World Hello原地址链接:https://pintia.cn/原创 2020-06-15 21:23:22 · 332 阅读 · 0 评论 -
字符串的冒泡排序
我们已经知道了将N个整数按从小到大排序的冒泡排序法。本题要求将此方法用于字符串序列,并对任意给定的K(<N),输出扫描完第K遍后的中间结果序列。输入格式:输入在第1行中给出N和K(1≤K<N≤100),此后N行,每行包含一个长度不超过10的、仅由小写英文字母组成的非空字符串。输出格式:输出冒泡排序法扫描完第K遍后的中间结果序列,每行包含一个字符串。输入样例:6 2bestcateastafreeday输出样例:bestacatdayeastfree——原创 2020-06-05 21:01:10 · 4336 阅读 · 0 评论