摘要:
单例模式的意图:一个类只能有一个实例。 //单例模式: 懒汉模式:在需要时才创建。需要考虑线程安全。 饿汉模式:系统一运行就构造初始化,不需要考虑线程安全。 //以下是懒汉模式: //非线程安全版本 1 class Singleton{ 2 private: 3 Singleton(); 4 Sin 阅读全文
摘要:
using namespace std; //二分模板 class Solution { public: vector<int> searchRange(vector<int>& nums, int target) { vector<int> ans={-1,-1}; int n = nums.si 阅读全文
摘要:
1 #include <bits/stdc++.h> 2 #include <unordered_map> 3 using namespace std; 4 //线段树成,node版本; 5 class Node{ 6 public: 7 Node * left; 8 Node * right; 9 阅读全文
摘要:
#include <bits/stdc++.h> #include <unordered_map> //数状数组; using namespace std; class Solution { private: int lowbit(int x) { return x & -x; } vector<i 阅读全文
摘要:
#include <bits/stdc++.h> using namespace std; //以下是线段树的模板,让区间查询和修改的时间复杂度到O(lgn); class XianDuanTree{ private: vector<int> arr; vector<int> tree; publi 阅读全文
摘要:
UniquePtr:独占所有的对象。 1 #include <iostream> 2 3 4 using namespace std; 5 template<typename T> 6 class UniquePtr{ 7 private: 8 T * ptr; 9 //non-copy 10 Un 阅读全文
摘要:
share_ptr:c++11引入的智能指针。是模板类,允许多个指针指向同一个对象。通过判断引用计数的值,来决定何时释放动态内存。 1.用nullptr构造时,引用计数为0; 2.用非nullptr构造时,引用计数为1; 3.拷贝一个share_ptr,引用计数会加1:如拷贝构造,share_ptr 阅读全文
摘要:
#include <bits/stdc++.h> using namespace std; //正则匹配 class Solution{ public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param str string字符串 * @ 阅读全文
摘要:
暴力递归: 1 #include <bits/stdc++.h> 2 3 using namespace std; 4 5 class Solution { 6 public: 7 //定义:index之后的位置选择还没做,前面的已经做了,light存放已经放过灯的位置; 8 //返回能够照亮所有位 阅读全文
摘要:
#include <bits/stdc++.h>using namespace std;class Solution{public: string winner1(int n ){ if(0<=n && n<= 4) return (n==0 ||n==2 )?"hou":"xian"; int b 阅读全文