3创建型模式之单例模式
概念 单例模式是一种对象创建型模式,使用单例模式,可以保证为一个类只生成唯一的实例对象。也就是说,在整个程序空间中,该类只存在一个实例对象。 GoF对单例模式的定义是:保证一个类、只有一个实例存在,同时提供能对该实例加以访问的全局访问方法。 为什么使用单例模式? 在应用系统开发中,我们常常有以下需求: - 在多个线程之间,比如初始化一次socket资源;比如servlet环境,共享同一个资源或者操作同一个对象 - 在整个程序空间使用全局变量,共享资源 - 大规模系统中,为了
[CF1111E]Tree
题目大意:给一棵$n(n\leqslant10^5)$个点的树,有$q(q\leqslant10^5)$次询问,每次询问给出$k,m,r$表示把一下$k$个点分成不超过$m$组,使得在以$r$为根的情况下,组内的任意两个结点不存在祖先关系。$\sum k\leqslant10^5,m\leqslant300$ 题解:针对一次询问,可以想到一个$DP$,$f_{i,j}$表示处理到第$i$个点(假设为$u$),$u$的祖先都已经处理完,这$i$个点放到$j$组的方案数。$f_{i,j}=f_{i
力扣——N叉树的前序遍历
给定一个 N 叉树,返回其节点值的前序遍历。 例如,给定一个 3叉树 : 返回其前序遍历: [1,3,5,6,2,4]。 class Solution {
public List<Integer> res = new ArrayList<Integer>();
public List<Integer> preorder(Node root) {
if(root == null)
return res;
res.add(ro
[AutoCars(二)]基于计算机视觉的无人车感知
1 传感器 无人车视觉传感器:超声波雷达(倒车)、毫米波雷达、LiDAR与摄像头。 激光雷达精度,速度高(厘米级),成本高;毫米波雷达可适应恶劣天气 2 KITTI数据集 (1)Stereo/Optical Flow数据集:两个摄像头 (2)视觉里程测量数据集 (3)三维物体检测数据集 (4)物体追踪数据集 (5)路面与车道检测数据集 3 计算机视觉能解决的问题: (1)物体的识别与跟踪:识别(深度学习):行人、行驶空间、地标、红绿灯、其他车辆;跟踪:Optical Flow运动预测算法 (2
力扣——N叉树的后序遍历
给定一个 N 叉树,返回其节点值的后序遍历。 例如,给定一个 3叉树 : 返回其后序遍历: [5,6,3,2,4,1]. /*
// Definition for a Node.
class Node {
public int val;
public List<Node> children;
public Node() {}
public Node(int _val,List<Node> _children) {
val = _val;
不定长数组:vector
vector就是一个不定长数组,另外它把一些常用操作“封装”在了vector类型内部。例如,若a是一个vector,可以用a.size()读取它的大小,a.resize()改变大小,a.push_back()向尾部添加元素,a.pop_back()删除最后一个元素,clear()清空,empty测试是否为空。 vector是一个模板类,所以需要用vector<int> a或者vector<double> b这样的方式来声明一个vector。vector<int>是一个类似于 int a[]的整
James Munkres Topology: Sec 22 Exer 3
Exercise 22.3 Let \(\pi_1: \mathbb{R} \times \mathbb{R} \rightarrow \mathbb{R}\) be projection on the first coordinate. Let \(A\) be the subspace of \(\mathbb{R}\times\mathbb{R}\) consisting of all points \(x \times y\) for which either \(x \geq 0\)
4创建型模式之单例模式__多线程下的懒汉式单例和饿汉式单例
//1"懒汉"模式虽然有优点,但是每次调用GetInstance()静态方法时,必须判断 // NULL == m_instance,使程序相对开销增大。 //2多线程中会导致多个实例的产生,从而导致运行代码不正确以及内存的泄露。 //3提供释放资源的函数 讨论: 这是因为C++中构造函数并不是线程安全的。 C++中的构造函数简单来说分两步: 第一步:内存分配 第二步:初始化成员变量 由于多线程的关系,可能当我们在分配内存好了以后,还没来得急初始化成员变量,就进行线程切换,另外一个线程拿到所有
Kali学习笔记38:文件上传漏洞
早些年,提到Web渗透,或者搜索一些黑客教程 基本都会看到文件上传漏洞。 它是一个很经典的漏洞 但它本质其实不是一个漏洞,而是网站本身的上传文件功能 不过如果我们上传了Webshell,那么就成为了文件上传漏洞 打开我们的靶机Metasploitable: 这里就是我们可以测试文件上传的地方 我们先在低安全级别的情况下测试 首先我们上传一个正常的图片文件; 在目录中输入这行路径,就可以直接访问这个图片 如果我们上传的是有恶意的文件呢? 比如php一句话 成功执行 我们来分析下低安全级别的源代码
#Leetcode# 521. Longest Uncommon Subsequence I
https://leetcode.com/problems/longest-uncommon-subsequence-i/ Given a group of two strings, you need to find the longest uncommon subsequence of this group of two strings. The longest uncommon subsequence is defined as the longest subsequence of one
设计模式--装饰者模式和建造者模式
1. 装饰者模式 动态地给一个对象添加一些额外的职责。就增加功能来说, Decorator模式相比生成子类更为灵活,而且能解决继承子类爆炸问题。 参与者 1.Component(被装饰对象的基类) 定义一个对象接口,可以给这些对象动态地添加职责。 2.ConcreteComponent(具体被装饰对象) 定义一个对象,可以给这个对象添加一些职责。 3.Decorator(装饰者抽象类) 维持一个指向Component实例的引用,并定义一个与Component接口一致的接口。 4.Concret
python利用beautifulsoup多页面爬虫
利用了beautifulsoup进行爬虫,解析网址分页面爬虫并存入文本文档: 结果: 源码: from bs4 import BeautifulSoup
from urllib.request import urlopen
with open("热门标题.txt","a",encoding="utf-8") as f:
for i in range(2):
url = "http://www.ltaaa.com/wtfy-{}".format(i)+".html"
14.7 nginx跨域
编辑nginx文件 vi /usr/local/etc/nginx/nginx.conf nginx配置如下,配置后需重启nginx nginx -s reload location ~.*\.json {
root html;
add_header "Access-Control-Allow-Origin" "*";
} 前端 index.html <script>
fetch('http://localhost:1207/a.json', {
method: 'ge
Codeforces 1110E
给定一个长为$n$的序列$a$,定义一次操作为将$a_i(1<i<n)$变为$a_{i-1}+a_{i+1}-a_i$。再给一个长为$n$的序列$b$,问$a$能否通过一系列操作变为$b$。 $$n\le10^5,a_i,b_i\le2\times10^9$$ 考虑差分,则每次操作相当于交换了差分数组的两个相邻位置,因此只需要判一下差分数组是否一致以及$a_1$是否等于$b_1$即可。 1 const int MAXN = 100000 + 5;
2
3 int a[MAXN], b[
今日推荐
周排行