刷leetcode不用stl-algorithm:常规算法题记录

时间:2024-07-19 23:32:27
【文件属性】:

文件名称:刷leetcode不用stl-algorithm:常规算法题记录

文件大小:83KB

文件格式:ZIP

更新时间:2024-07-19 23:32:27

系统开源

刷leetcode不用stl algorithm 记录常规算法题 十大排序 新增 leetcode 练习笔记 正常人刷 200 道即可 算法题中常遇到的问题 递归,防止死循环和内存泄露。由于递归需要堆栈,所以内存消耗要比非递归代码要大很多。而且,如果递归深度太大,可能系统撑不住。内存会存在突然飙升的情况。如果是数据错误导致无限循环,那问题就大了。所以这方面问题在开发的时候需要注意。 访问数组越界,绝大多数的数组越界,根本原因在于对定义混淆。比如定义的时候想的是“以 0 起始”,但是写的时候写成了“以 1 起始”。究其根本,数组越界的问题,其实是对区间把控的问题。 区间表意不明。 大部分的语言中,数组都以 0 为起始元素,但是人的思维习惯于以 1 为起始。那为什么数组要以 0 为起始元素,历史原因有很多,咱不说。对咱们有用的,3 个。第一,因为我们选择左闭右开区间,比如 [0,n),我们可以很容易通过 n-0 得到数组中元素个数。这点大家要形成条件发射,看到数组,明确其个数。第二,闭区间很难去表示一个空数组,不信你试试,非常难受。第三,左闭右开的区间,迭代器只需要最少的操作符。可以让代码


网友评论