ARTS-week55

Algorithms

License Key Formatting
思路: 从S尾开始向前遍历,把字符转为大写加入结果res,每隔K个字符加一个’-‘,再结束遍历翻转前将结尾的’-‘去掉。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
class Solution {
public:
string licenseKeyFormatting(string S, int K) {
string res = "";
int cnt = 0;
for(int i = S.size() - 1; i >= 0 ; --i) {
if(S[i] != '-') {
res += toupper(S[i]);
++cnt;
if(cnt == K) {
res += "-";
cnt = 0;
}
}
}
if(res[res.size() - 1] == '-') {
res.pop_back();
}
return string(res.rbegin(), res.rend());
}
};

Max Consecutive Ones
思路: 遍历。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
class Solution {
public:
int findMaxConsecutiveOnes(vector<int>& nums) {
if(nums.size() == 0){
return 0;
}
int res = 0, num = 0;
for(int i = 0; i < nums.size(); i++) {
if (nums[i] == 1) {
num++;
} else {
num = 0;
}
res = max(res, num);
}
return res;
}
};

Review

本周阅读英文文章:
1、GQUIC Protocol Analysis and Fingerprinting in Zeek

概要、插眼:
1)Salesforce为强大的Zeek(也就是Bro),使用BinPAC开发了GQUIC协议分析器,作为Zeek的插件使用。可以提取连接的Client hello数据包和Server rejection数据包中包含的信息,其中内置了”CYU”的指纹识别方法,可以快速识别和警告异常的GQUIC流量,目前支持GQUIC版本为Q039-Q046。
2)Wireshark(V3.0.3)还无法分析GQUIC版本Q046。
3)Merlin相关:
https://github.com/Ne0nd0g/merlin?utm_source=tuicool&utm_medium=referral
https://medium.com/@Ne0nd0g/introducing-merlin-645da3c635a

2、At the Core of Cybersecurity are: Risks, Costs, Benefits and Threat Models

3、Everything You Need to Know About Polymorphism

Technique

前几天学习了下用sysbench给MariaDB做基准测试,看看TPS、QPS、99线能到多少,过程记录: MariaDB sysbench基准测试

Share

在某个项目里注意到一行代码vec_elt_at_index(a,b),看了下头文件中有一行#include "vppinfra/vec.h",搜索了一下,和Cisco开发的VPP(Vector Packet Processing)有关系,Cisco在2016年将开源版本贡献给了FD.io((Fast data – Input/Output))项目,具备框架可拓展,成熟的交换/路由功能。

关于FD.io: https://fd.io/about/

关于VPP: https://wiki.fd.io/view/VPP

插眼: 目前只是搜索了一些资料,简单的了解一下,后面有时间会多看看。

0%