ARST打卡第157周[157/521]

Algorithm

lc442_数组中重复的数据

简单的一个集合的应用,C++可以用unordered_set,hash集合,但是今天以及之后的algorithm准备用go来实现

然后突然发现自己没有用到

所以可以用1-n之间值的正负标记某个下标(对应唯一值)是否出现

比如出现两个5,但是下标4(第5个位置)是2,一开始标记为-2,后面加入答案5,并且把-2标记回去

还有可以交换位置的方法,具体代码可以看LeetCode题解

1
2
3
4
5
6
7
8
9
10
11
12
13
func findDuplicates(nums []int) (ans []int) {
for _, x := range nums {
if x < 0 {
x = -x
}
if nums[x - 1] > 0 {
nums[x - 1] = - nums[x - 1]
} else {
ans = append(ans, x)
}
}
return
}

Review

Working with Go

是一个很有经验的大佬快速学习golang的例子总结,可以follow跟随之

Tips

WSL 1 与 WSL 2 有什么区别?到底哪个更适合你

如果不用内核,以及不需要在linux内疯狂IO,都建议不要使用wsl2,而是使用wsl1

因为wsl一般的IO最终还是都要通过windows与外界进行IO的,以及力求简单,所以我建议还是使用wsl1

Share-wsl使用windows下go代码引发的wsl选择问题

因为github只添加了我windows下的ssh的密钥,所以代码clone到windows,然后wsl访问/mnt/c去编译运行

并且可以创建软链接,让wsl用户目录,快速到/mnt/c下代码目录

1
2
3
4
5
6
# 错误链接方式: ln -s go_learn ~/code/go_learn . https://blog.csdn.net/neve_give_up_dan/article/details/124637360
⚡ 05/7|18:24:01  Code  ln -s /mnt/c/Users/shanl/Documents/Code/go_learn ~/code/go_learn
⚡ 05/7|18:24:06  Code  ll ~/code/go_learn
lrwxrwxrwx 1 root root 8 May 7 18:24 /root/code/go_learn -> /mnt/c/Users/shanl/Documents/Code/go_learn
⚡ 05/7|18:24:11  Code  pwd
/mnt/c/Users/shanl/Documents/Code

发现wsl2进入windows的目录cd一下都超级卡…然后对于网络代理,还需要一个网关来转发,实在是卡到了极点,加上自己其实没有内核方面的相关需求,就一个简单的看系统状态的需求,其实可以直接看windows的(后面发现wsl1也能显示了),所以决定换回wsl1

主要点是

  1. 访问windows目录太卡
  2. 网络转发也卡
  3. 如果有时候想开VMware,wsl是不支持的,而wsl1可以关掉HV虚拟服务,然后开VMware

测试了一下,确实wsl1快一点