安全意识
2022-08-30

生命安全第一,其他都是浮云

  • 虽然没有千里眼和顺风耳,但是走路也要尽量眼观六路耳听八方,不要看手机,不要胡思乱想,利用这点时间没有意义

  • 过马路,即使有车辆停下让你,也要慢慢走过去,并且时刻观察两侧,因为不是所有的车辆都会让你

  • 不停留在车辆盲区

  • 远离大车

  • 注意脚下的任何井盖,尽可能不从上面走

  • 注意头上可能的掉落物,不要在建筑边缘停留,要么进去,要么出来

  • 进入陌生建筑,尽可能摸清所有出口和逃生路线

  • 如果不会游泳,不要靠近水边

  • 不要倚靠任何护栏

  • 地铁门灯亮时,不要赶着进去,等下一班

  • 在地铁上不要靠近门,尽可能靠中间

  • 电梯门开时观察电梯是否正常到达,不要低着头就往前走

  • 不要停留在电梯门缝中间

  • 登山时谨记:走路不观景,观景不走路。

  • 不要在山上用雨伞,少坐缆车

LeetCode刷题笔记——理解二叉树的非递归遍历II
2022-04-13

未完成..待续

在上一篇中,我们讨论了迭代遍历二叉树的各种细节,这篇主要讲重建二叉树

根据遍历结果/序列重建二叉树

首先假定原二叉树所有节点的值不相同,否则没有意义

比如极端情况所有节点的值都一样,这样无论是正常树状还是一条链状结构,任意遍历方式结果都一样,无法保留任何结构信息

这里的遍历结果/序列通常指以顺序容器存储的数值序列或包括空结点标记的字符串序列

直接遍历的结果

直接遍历二叉树的结果丢失了结构信息,无法对根节点和左右子树进行分离:

LeetCode刷题笔记——背包问题汇总
2022-04-03

符号说明

C: 背包容量(重量)
N: 物品种类数
weights: 每种物品的重量
values: 每种物品的价值
amounts: 每种物品的数量

为了避免下标访问引起的混淆,这里规定物品编号从1开始
weightsvaluesamounts从下标1开始为有效数据
dp[0][] 表示不放物品的情况

C++学习笔记
2022-03-02

一些注意

member initialization list 的初始化顺序由class中member声明顺序决定,而不是list本身的顺序

大多数平台上,所有类型的指针具有相同的二进制表述

const_cast关键字用于指针或引用,只能去除底层const,即把一个指向const int类型的指针改成指向int类型的指针,不能将指针的顶层const去除, 也不能将指向的对象的const属性去除

一些思考

指针存储了地址,其类型只决定编译器以何种长度访问内存,如int *在64位机器上以4字节为长度

  • void *只有地址信息,无法解引(和void实际上没关系,void表示没有参数或没有返回值)
LeetCode刷题笔记——二分查找
2022-02-24

基本思想

二分查找,单调性不是必须的

想象一个无限长的数组,左边全是false,右边全是true

存在第一个使得f(x)=truex=k,也就是突变点,突变点之后均满足f(x)=true

给定一个包含突变点的左闭右开坐标范围[l,r),二分查找可以不断缩小范围找出这个点,最后lr重叠于突变点k

模板如下,f(x)可以套用任何条件,只要问题可以抽象成上面描述的性质即可

LeetCode刷题笔记——链表
2022-01-17

总结

链表相关的题目整体上难度不大

主要是对指针的指向修改容易出错

  • 赋值顺序错误导致丢失了某个节点之后的所有结点
  • 访问了空指针
  • 计数次数与预期相差1

链表的特性

  • 无法随机访问,只能从头开始单向前进

  • 初始时链表的长度未知

LeetCode刷题笔记
2022-01-11

难度

题目本身标识的难度级别只是对所有人的平均情况,应该建立自己的难度评估标准

保存和记录自己做过的每一题,可以分为四个等级

  • trival:能马上想到解法的题目,并且代码量较少,保证能一次写对,比如数组或字符串的简单模拟题

img_test
2021-04-25

Padding

Lorem ipsum dolor sit amet, consectetur adipisicing elit. Impedit aut, neque quaerat in consectetur dignissimos deserunt autem architecto soluta, error dolores facere, numquam possimus repellat reiciendis maxime officia? Dolorum, nemo.

搜索
背景设置