搬个官方题解 class Solution { bool valid(const string& str) {//验证是否合法 int balance = 0; for (char c : str) { if (c == '(') { ++balance; } else { --balance; } ...
分类:
其他好文 时间:
2021-06-28 18:28:25
阅读次数:
0
Linux 内核:设备树(1)dtb格式 背景 dtb作为二进制文件被加载到内存中,然后由内核读取并进行解析,如果对dtb文件的格式不了解,那么在看设备树解析相关的内核代码时将会寸步难行,而阅读源代码才是了解设备树最好的方式。 所以,如果需要更透彻的了解设备树解析的细节,第一步就是需要了解设备树的格 ...
分类:
系统相关 时间:
2021-06-28 18:17:54
阅读次数:
0
<style> /* 定义名称为zhuan的动画 */ @keyframes zhuan { 0% { transform: translate(0, 0); } /* 水平移动 */ 30% { transform: translate(600px, 0); } /* 放大x,y 2倍*/ 50% ...
分类:
Web程序 时间:
2021-06-28 18:13:40
阅读次数:
0
介绍 在SpringBoot中,拦截器HandlerInterceptor 的功能跟过滤器类似,但是提供更精细的的控制能力:在request被响应之前、request被响应之后、视图渲染之前以及request全部结束之后。我们不能通过拦截器修改request内容,但是可以通过抛出异常(或者返回fal ...
分类:
编程语言 时间:
2021-06-28 18:01:24
阅读次数:
0
两种写法,主要是复杂度的证明上比较有趣 1. 并查集+BFS 对于每个点,最多只会进入队列一次,这部分的复杂度是O(n) 每个点最多会在 for (int i = find(1); i <= n; i = find(i + 1))这段话中被访问 \(edge[i].size() + 1\) 次,因为 ...
分类:
其他好文 时间:
2021-06-28 17:55:38
阅读次数:
0
对象的扩展运算符对象中的扩展运算符(...)用于取出参数对象中的所有可遍历属性,拷贝到当前对象之中 let bar = { a: 1, b: 2 }; let baz = { ...bar }; // { a: 1, b: 2 } 如果用户自定义的属性,放在扩展运算符后面,则扩展运算符内部的同名属性 ...
分类:
其他好文 时间:
2021-06-25 17:07:36
阅读次数:
0
rem是相对于根元素html的font-size。 1rem = html的font-size 移动端适配通常使用rem。 在开发时,设计稿通常为750px物理像素 ,所以用750设计稿举例对应的iphone6的375px逻辑像素。(物理像素是逻辑像素的2倍) 375 / 7.5 = 50px(37 ...
分类:
移动开发 时间:
2021-06-25 17:04:48
阅读次数:
0
1、创建测试文件: [root@centos7 test]# touch {a..f}.txt [root@centos7 test]# ls a.txt b.txt c.txt d.txt e.txt f.txt 2、删除b.txt文件以外的所有文件 method1: [root@centos7 ...
分类:
系统相关 时间:
2021-06-25 16:56:49
阅读次数:
0
构造一个空的顺序表 #define MAX_SIZE 100 typedef struct { int *address;//基地址 int length;//顺序表长度 int size;//顺序表总空间 }LIST; //创建一个空的顺序表 bool initList(LIST& list) { ...
分类:
其他好文 时间:
2021-06-25 16:40:30
阅读次数:
0
参考 OpenMP多线程 背景 OpenMP并行执行的程序要全部结束后才能执行后面的非并行部分的代码, 这就是标准的并行模式fork/join式并行模式,共享存储式并行程序就是使用fork/join式并行的。标准并行模式执行代码的基本思想是,程序开始时只有一个主线程,程序中的串行部分都由主线程执行, ...
分类:
其他好文 时间:
2021-06-25 16:38:19
阅读次数:
0