ARST打卡第151周[151/521]

Algorithm

lc2028_找出缺失的观测数据

思路:

直接用 mean * (n + m) - sum(m_arr) 得到 sum(n_arr) , 然后再用组成这个sum(n_arr)

sum(n_arr) / n 得到 vector中的每个值,后面 sum(n_arr) % n 把余量加上去,就能得到结果

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
class Solution {
public:
vector<int> missingRolls(vector<int>& rolls, int mean, int n) {
int m_size = rolls.size();
int total = mean * (n + m_size);
if (total <= 0) {
abort();
}

int m_sum = 0;
int n_sum = 0;
// 放在 空 vector后初始化为 vector<int> ans(n) 更优
vector<int> ans;
// 也可以用total 减去 x值,然后得到 n_sum,这样少几个变量
for (auto x : rolls) {
m_sum += x;
}

n_sum = total - m_sum;
// if (n_sum <= 0 || n_sum < n || n_sum > 6 * n) {
if (n_sum < n || n_sum > 6 * n) {
return ans;
}

int base_value = n_sum / n;
int added = n_sum % n;
for (int i = 0; i < n; i++) {
// 一开始不能在if里面added--,否则一开始是0没问题,但是后续为-1会导致问题
if (added) {
ans.emplace_back(base_value + 1);
added--;
continue;
}
ans.emplace_back(base_value);
}
return ans;
}
};

Reviews

【TED演讲】无人驾驶的世界会是什么样

很神奇,通过学习人体里面的血液流动来尝试解决交通问题的困境

比如

  1. 通过学习血管系统的立体化,悬浮车道,飞行胶囊
  2. 通过学习学液运送养分,在指定地点装载和卸载指定车厢
  3. 通过学习血管的系统化,把所有的个体连接成一个核心的系统,就是现在很火的城市交通大脑,控制整体运行

Tips

系统设计的入门学习

Share-关于vsftpd的reverse_lookup_enable

reverse_lookup_enable
Set to YES if you want vsftpd to transform the ip address into the hostname, before pam authentication. This is useful if you use pam_access
including the hostname. If you want vsftpd to run on the environment where the reverse lookup for some hostname is available and the name
server doesn’t respond for a while, you should set this to NO to avoid a performance issue.

   Default: YES

为什么我们源码下载的vsftpd,使用man vsftpd.conf时找不到这个参数呢?

搜索了半天发现这个东西是rhel(红帽)自己弄的patch,原版vsftpd是没有的。debian系的应该都没有弄

https://forum.ubuntu.org.cn/viewtopic.php?t=459483

自己实验了一下,只有yum安装的vsftpd才有,默认是3.0.2版本的

1
2
yum install vsftpd 
man vsftpd.conf

总结:

这个是centos自己搞的一个配置项,只有centos的yum安装的vsftpd才有这个配置,原生的vsftpd没有这个配置选项,感觉原生的可能没有ip转化hostname这个操作