一天两道PAT(1)
其实是从昨天开始刷的,备战一下PAT(乙级,菜鸡不解释,希望几个月下来能有长进吧),做了一下,发现自己的算法功底好差啊。。。。。 先上题目 1. 字符串中必须仅有P, A, T这三种字符,不可以包含其它字符; 2. 任意形如 xPATx 的字符串都可以获得“答案正确”,其中 x 或者是空字符串,或者是仅由字母 A 组成的字符串; 3. 如果 aPbTc 是正确的,那么 aPbATca 也是正确的,其中 a, b, c 均或者是空字符串,或者是仅由字母 A 组成的字符串。 现在就请你为PAT写一
web前端入门到实战:CSS解决高度塌陷
1:给高度塌陷的元素设置overflow:hidden;原理:因为overflow:hidden;触发了一个BFCBFC布局规则:计算BFC高度的时候,里面的浮动元素也参与计算。弊端:定位在当前元素外面的内容会被隐藏。2:给出现高度塌陷的元素里面,放在浮动元素的后面,添加一个空div,并且给div{clear:both;}原理:clear:both;忽略上面的浮动元素预留出的空间弊端:形成不必要的
Serverless 实战——使用 Rendertron 搭建 Headless Chrome 渲染
为什么需要Rendertron?传统的Web页面,通常是服务端渲染的,而随着SPA(Single-PageApplication)尤其是React、Vue、Angular为代表的前端框架的流行,越来越多的WebApp使用的是客户端渲染。使用客户端渲染有着诸多优势,比如节省后端资源、局部刷新、前后端分离等等,但也带来了一些挑战,比如本文要解决的SEO问题。对于服务端渲染的页面,服务端可以直接将内容通
操作系统笔记第四章【存储器管理】
存储器管理 存储器历来都是计算机系统的重要部分。 存储器的层次结构 多层结构的存储系统 存储器的多层结构 对于计算机而言,存储层次至少分为三层:CPU寄存器、主存、辅存。 还可以根据具体功能细分为:寄存器、高速缓存、主存储器、磁盘缓存、固定硬盘、可移动存储介质。 寄存器、高速缓存、主存储器、磁盘缓存均属于操作系统存储管理的管辖范围,断电后信息不再存在。低级的固定磁盘和可移动存储介质则属于设备管理的管辖范围,将被长期保存。 可执行存储器 在计算机系统的存储层次中,寄存器和主存器又被称为可执行存储
unsafe包的学习和使用
Go语言之unsafe包介绍及使用 unsafe内容介绍 type ArbitraryType int
type Pointer *ArbitraryType
func Sizeof(x ArbitraryType) uintptr
func Offsetof(x ArbitraryType) uintptr
func Alignof(x ArbitraryType) uintptr unsafe包只有两个类型,三个函数,但是功能很强大。 unsafe 库让 golang 可以像C语言
JS的ES6的class
1.类的创建: 定义类 类的构造函数 类的静态方法 类的一般属性和方法 1 //定义类
2 class Person{
3
4 // 类的静态方法,相当于Person.test = function(){console.log("类的静态方法");}
5 static test() {
6 console.log("类的静态方法");
7
8 }
9
10 //constructor构造函数
11 construc
Nginx 转发特点URL到指定服务
location ^~ /fs/ {#如https://xx.com/fs/upload 转发到文件服务器
proxy_pass http://127.0.0.1:8080/fs/;
}
zuichang_gonggong_zixvlie
#include<cstdio>
#include<string.h>
int casenum;
char shang[1009];//第一个数组。默认是长的数组,作为横着放的数组
// int shanglenght;
char xia[1009];//第二个数组,默认是短的数组,作为纵着放的数组
//int xialenght;
short tab[1002][1002];//记录数据,从1开始,因为0位的要用于作为空数组的情况考虑
int dongtai(){
memset(t
jvzhen_liancheng
#include<cstdio>
#include<string.h>
int casenum;
int n;
int row[609];
int cel[609];
int tab[609][609];
int insertlocation[609][609];
int dongtaiba(){
int newcel;
memset(tab,0,sizeof(tab));
for(int i=2,newrow=1;i<=n;++i,newrow=1){//每一次新行
LeetCode刷题总结-二分查找和贪心法篇
本文介绍LeetCode上有关二分查找和贪心法的算法题,推荐刷题总数为16道。具体考点归纳如下: 一、二分查找 1.数学问题 题号:29. 两数相除,难度中等 题号:668. 乘法表中第k小的数,难度困难 题号:793. 阶乘函数后K个零,难度困难 2.实际场景问题 题号:174. 地下城游戏,难度困难 题号:911. 在线选举,难度中等 3.数组问题 题号:300. 最长上升子序列,难度中等 题号:363. 矩形区域不超过 K 的最大数值和,难度困难 4.特殊定义问题 题号:352. 将数据
Spectral clustering谱聚类
Basic knowledge: degree matrix; similarity matrix, and Adjacency matrix; 无向带权图模型 G=<V,E>G=<V,E>,每一条边上的权重wij为两个顶点的相似度,从而可以定义相似度矩阵W,此外还可以定义度矩阵D和邻接矩阵A,从而有拉普拉斯矩阵 L=D−A; 距离度量与邻接矩阵 邻接矩阵某种程度上反映了图中各结点之间的相似性,普通的邻接矩阵元素非0即1,谱聚类中的邻接矩阵用KNN来计算。具体来说,遍历每一个结点xi,根据
waitgroup等待退出
等待一组协程结束,用sync.WaitGroup操作 package main
import (
"fmt"
"sync"
"time"
)
func main() {
wg := sync.WaitGroup{}
for i := 0; i < 10; i++ {
wg.Add(1)
go calc(&wg, i)
}
wg.Wait()
fmt.Println("all gorouti
linux 之实现定时任务
一.方式一 (1)命令行 的方法: 一.方式一
需求:每分钟执行一次/etc 目录的添加 到/tmp/a.txt 中
(1) touch a.txt创建文件
(2) crotab -e 进行任务的定制 */1 * * * * ls -l /etc/>> /tmp/a.txt
(3) 查看定时的任务的内容:cat a.txt
查看定时的任务:crontab -l
(4) 取现定时任务 :cront
WAF的部署方式——有直路部署和旁路部署
随着电子商务、网上银行、电子政务的盛行,WEB服务器承载的业务价值越来越高,WEB服务器所面临的安全威胁也随之增大,因此,针对WEB应用层的防御成为必然趋势,WAF(WebApplicationFirewall,WEB应用防火墙)产品开始流行起来。 WAF产品按照形态划分可以分为三种,硬件、软件及云服务。软件WAF由于功能及性能方面的缺陷,已经逐渐被市场所淘汰。云WAF近两年才刚刚兴起,产品及市场也都还未成熟。与前两种形态相比,硬件WAF经过多年的应用,在各方面都相对成熟及完善,也是目前市场中
今日推荐
周排行