刷题随笔记录~

  • transform转换容器的元素
 string s="2019-07-25 14:45:23";transform(s.begin(),s.end(),s.begin(),[](char c)->char{if(string("0123456789").find(c)==string::npos)return ' ';return c;});cout<<s<<endl;// 2019 07 25 14 45 23
  • istringstream/ostringstream使用(字符串转数字、数字转字符串)
  int x = 123, y = 45;ostringstream oss;cout << x << y << " " << y << x << endl;  // 12345  45123oss << x << y << " " << y << x;int a, b;istringstream iss(oss.str());iss >> a >> b;cout << "a=" << a << endl;cout << "b=" << b << endl;
  • C++格式控制输出(保留指定小数、整数指定宽度、不够长就用setfill(‘0’)占位)
double pi = 3.14159;
cout << fixed << setprecision(2) << pi << endl;// 3.14
int x = 2;
cout << setw(2) << setfill('0') << x << endl;// 02
  • 差分:adjacent_difference(v.begin(), v.end(), v2.begin())

  • 前缀和:partial_sum(v.begin(), v.end(), v2.begin())

  • 优先级队列,小顶堆 :priority_queue<Node, vector<Node>, greater<Node>> minheap;

  • 加速

  ios::sync_with_stdio(false);cin.tie(nullptr);cout.tie(nullptr);
  • C++函数指针:将函数作为实参传给另一个函数的形参调用
bool cmp1(int a, int b){return a < b;
}
bool cmp2(int a, int b){return a > b;
}
bool isBST(int root, int left, int right, bool (*cmp)(int, int)){// TODO// 这里面的函数名就用cmp
}// 在主函数中调用isBST函数
int main(){bool f = isBST(1, 0, n-1, cmp1); // 按照cmp1的排序规则bool f2 = isBST(1, 0, n-1, cmp2); // 按照cmp2的排序规则return 0;
}
  • vector排序比set快,printf比ios::sync_with_stdio(false)快

  • 快速将代码中的int全部替换成long long。 使用宏替换int为long long

#define int long long

注意,此时main的返回值int也会被替换成long long,那编译器可就要报错了

那咋办呢,就是将main前面的int换成同int相同含义的signed就可以啦,哈哈我是不是好机智??

signed main(){}

C++刷题记录总结--常用知识点相关推荐

  1. LeetCode刷题遇到的小知识点总结

    文章目录 1. 需要判断输入的两个参数的大小/长度 2. 数学分式的化简 3. 二叉树操作的小总结 4. MySQL分组内取前几名的问题 5. SQL中的小问题 6. 对哈希表的初步理解 (1)初步理 ...

  2. 算法笔记CodeUp第一至第六章刷题记录

    文章目录 <算法笔记>2.2小节--C/C++快速入门->顺序结构 1.例题1-1-1 按要求输出信息(1) 2.例题1-1-2 按要求输出信息(2) 3.例题1-2-1 求两个整数 ...

  3. ACM比赛经验、刷题记录及模板库总结(更新中)

    前言 本文所提及的部分题目代码,可以在我的Github上找到 第一部分 经验分享及感受 第二部分 刷题记录 一.基础算法&程序语言 //strlen()函数的复杂度是O(n)要小心 //截取字 ...

  4. CTFShow web入门题刷题记录

    CTFShow web入门题刷题记录(信息搜集) web1 提示:开发注释未及时删除 打开网页查看源代码发现 flag:flag{2b2cf8e3-f880-41e1-a8ff-02601b3d998 ...

  5. 力扣刷题记录--哈希表相关题目

    当遇到需要快速判断一个元素是否出现在集合里面的时候,可以考虑哈希法,牺牲一定的空间换取查找的时间. java常用的哈希表有HashMap.HashSet以及用数组去模拟哈希,这几种方法各有优劣. 数组 ...

  6. 算法记录 牛客网 leetcode刷题记录

    算法记录 & 牛客网 & leetcode刷题记录 解题思路 STL容器 常用算法模板 堆排序 插入排序 快速排序 BFS层序遍历 二叉树 JZ55 二叉树的深度 BST(binary ...

  7. LeetCode刷题记录15——21. Merge Two Sorted Lists(easy)

    LeetCode刷题记录15--21. Merge Two Sorted Lists(easy) 目录 LeetCode刷题记录15--21. Merge Two Sorted Lists(easy) ...

  8. LeetCode刷题记录14——257. Binary Tree Paths(easy)

    LeetCode刷题记录14--257. Binary Tree Paths(easy) 目录 前言 题目 语言 思路 源码 后记 前言 数据结构感觉理论简单,实践起来很困难. 题目 给定一个二叉树, ...

  9. LeetCode刷题记录13——705. Design HashSet(easy)

    LeetCode刷题记录13--705. Design HashSet(easy) 目录 LeetCode刷题记录13--705. Design HashSet(easy) 前言 题目 语言 思路 源 ...

最新文章

  1. 输入两个数,计算它们的最大公约数和最小公倍数
  2. 三星的 Logo 原来是这么来哦! | 每日趣闻
  3. 怎么在VS监视DataSet类型的数据
  4. 三级pc技术_EeIE智博会展商推荐鑫路远—专业从事液控设备的研发、生产和销售的高新技术企业...
  5. Effective Java之接口优先于反射机制(五十三)
  6. 前端学习(3327):闭包的形式2
  7. Linux如何从普通用户切换到root用户
  8. 只要 8 个步骤,学会这个 Docker 命令终极教程!
  9. 陈国良院士将出席“首届对象存储技术与应用大会”
  10. XLSTransformer生成excel文件简单演示样例
  11. win10家庭版升级到企业版的教程
  12. WEB程序设计 第7版.pdf
  13. sklearn垃圾邮件识别
  14. win7 旗舰版系统激活方法
  15. 第二次作业(时事点评)
  16. 2019杭电多校第六场 HDU6638 Snowy Smile(线段树区间合并+枚举)
  17. Python多维数组,已知多科成绩求英语成绩最高的学生名
  18. 程序开发语言之兵器谱排名
  19. AcWing 285. 没有上司的舞会
  20. HDU 2094 产生冠军

热门文章

  1. 确定性随机数发生器测试向量——DRBG-CTR-AES192
  2. 关于word转pdf我找到的 最简单的解决方法
  3. 2021年材料员-岗位技能(材料员)考试及材料员-岗位技能(材料员)模拟考试题库
  4. php 爬虫ip被封,服务器反爬虫攻略Nginx/PHP禁止某些User Agent抓取网站
  5. 2022-2028全球与中国车辆评估服务市场现状及未来发展趋势
  6. redis之分布式架构
  7. 项目经理最应该具备的能力是什么?
  8. Java语言是编译型语言还是解释型语言?(Java程序执行过程)
  9. eclipse的preferences中怎么调出organize imports选项
  10. 来聊聊为什么说5G手机芯片要选择集成技术