ARST打卡第178周[178/521]

Algorithm

lc777_在LR字符串中交换相邻字符

题目主要有几个重点:

  • X没有用,只要判断L,R遇到的顺序是否相等
  • 只能start变动到end
  • 一次移动操作指用一个”LX”替换一个”XL”,或者用一个”XR”替换一个”RX”。
    • L只能左移,R只能右移
  • 注意位置相等的时候的判断

因此就是双指针判断

中途理解错题意WA了4次,丢人
总结:
第一次想得太简单,第二次又想得太复杂,后面又细节处理不到位…两次理解错了题意,没有在题意上下功夫(只要琢磨5分钟),导致浪费了10倍的时间-50分钟.
这是以前打比赛和做系统设计的教训啊,现在又犯了…要谨记…

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
/*
canTransformAns 题解简洁版.
*/
func canTransformAns(start, end string) bool {
i, j, n := 0, 0, len(start)
for i < n && j < n {
for i < n && start[i] == 'X' {
i++
}
for j < n && end[j] == 'X' {
j++
}
if i < n && j < n {
if start[i] != end[j] {
return false
}
c := start[i]
if c == 'L' && i < j || c == 'R' && i > j {
return false
}
i++
j++
}
}
for i < n {
if start[i] != 'X' {
return false
}
i++
}
for j < n {
if end[j] != 'X' {
return false
}
j++
}
return true
}

Review

【TED演讲】如何在压力很大时保持冷静

看到过程,发现自己其实是第二次听这个TED了

其中主要说的是当我们压力大的时候,身体分泌的一些物质让我们没法冷静思考

所以我们应该在做事情之前提前想象各种失败的情况,以面对可能的失败,减少压力,以及在压力下处理得更好

最近自己在看斯多葛主义的书籍,然后觉得不仅仅要做以上的想象,还可以做消极想象,想象自己可能失去自己已经拥有的一切

这样能够让我们更加珍惜当下,这样更加有利于减少当下的压力,而不是视频中说的减小未来的压力

Tips

打造无限扩展的云存储系统,元数据存储底座的设计和实践

Share

代码提交没有记录到github activity和contribute