答:需要预知右边所有的状态才能知道左边的递推的题。但是右边的递推只需要知道部分。
或者说 n→n+1 需要 f(n,…N) 的知识的。

max ,从左往右,从右往左都可以。
因为有结合律
从左往右,是借用右结合,这样 an+1 不需要和 an 联系。
比如 max an 和 an+1 没关系
min an 和 an+1 没关系
 
具体应该对应 the algebra of programming 的内容,我那本书没太看懂就不去管了。

回到那题。那个 # 算符是左结合,会影响左边。
所以是近似括号匹配。所有 # 看作右括号,所有 not # 看作左括号。
所以用栈是一种。
因为是左结合,所以从右往左,不会有后效。
还有一种
用 3.10 的模式匹配可以写成
while True:
match arr
case [*x,_,#,*y]:
arr = [*x,*y]
case _:
break
不能, python 的 match case 还不够强. 因为这不是唯一匹配.

如果题目变成影响左右两边,那就一定需要 On 空间了。
如果 # 影响右边,那只需要从左往右。

 
Loading...
Steven Lynn
Steven Lynn
喂马、劈柴、周游世界
最新发布
我与 Dify 的半年
2025-3-9
我的2022年终小结
2024-11-9
记录雅思考试经历与一点学习心得
2024-11-9
Hackergame 2024 思路小结
2024-11-9
黑客松、日本、入职:我的2024下半年的总结
2024-11-9
NotionNext:基于Notion和NextJS的开源博客
2024-11-9