摘要:
PS: 将两个排序链表和将K个排序链表是同一类问题,下面主要从合并两个链表展开到合并K个链表的情况。 合并两个排序链表 #include<iostream> #include <cstring> #include <algorithm> using namespace std; // 类似 归并排序 阅读全文
摘要:
PS: 将两个排序链表和将K个排序链表是同一类问题,下面主要从合并两个链表展开到合并K个链表的情况。 合并两个排序链表 #include<iostream> #include <cstring> #include <algorithm> using namespace std; // 类似 归并排序 阅读全文
摘要:
1.01背包 #include<iostream> #include <cstring> using namespace std; const int N = 1010; int f[N]; int main() { int n,m; while(cin >> n >> m){ int v,w; f 阅读全文
摘要:
多态 (参考:https://www.cnblogs.com/alinh/p/9636352.html) 概念: 同一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果。在运行时,可以通过指向基类的指针,来调用实现派生类中的方法。 对于C++中的多态:在基类的函数前加上virtual关键字, 阅读全文
摘要:
原文链接:http://arxiv.org/abs/2004.10934 整体框架 Bag of Freebies(BoF) & Bag of Specials (BoS) Bag of Freebies(BoF) 指那些能够提高精度而不增加推断时间的技术。比如数据增广的方法图像几何变换、CutOu 阅读全文
摘要:
PS:最近用到了 stringstream 这个东西,于是顺便将 string 和 stringstream的一些知识点给看了看。 参考: https://blog.csdn.net/shs1992shs/article/details/83051298?utm_medium=distribute. 阅读全文
摘要:
PS: 做题时一直对几个经常常见的求最长字符串啥的混淆,例如最长回文子串,最长回文子序列,最长公共子串,最长公共子序列,无重复最长子串。。。。。。,故记录一波。 注意: a. 子串与子序列区别在于子串是连续的,子序列可以不连续。 b. 下面的代码侧重于用 动态规划(DP)解决,同时对特定题目也会列出 阅读全文
摘要:
使用单调队列解决滑动窗口的最大值 #include <iostream> #include <deque> #include <vector> using namespace std; class MonotonicQueue { // 构建单调队列 private: deque<int> data 阅读全文
摘要:
PS:归并排序是一个套路迭代的过程,归并排序与数组中的逆序对和最小和问题三个基本上一样,只要理解了归并排序过程,其余两个过程自然可以理解。 直接上代码。 归并排序过程 class Solution { public: void mergeSort(vector<int> &arr) { if (ar 阅读全文
摘要:
PS:本帖记录一些在刷题过程中的作用与技巧。 1.位运算(与运算)判断奇偶 num & 1 == 1 : 判断为奇数; num & 1 == 0 : 判断为偶数。 2.位运算(异或运算)交换 两个数的值。 a = a^b; b = a^b; a = a^b; 3.位运算(异或运算)找到数组中出现一次 阅读全文
摘要:
链表的排序有很多方式,这里记录一下归并排序,关键点2个: 归并排序的过程和快慢指针法找中间结点,直接上代码。 class Solution { public: ListNode* sortList(ListNode* head) { if (!head || !head->next) return 阅读全文
|