在使用unsigned int型变量接收int型变量赋值的时候,如果是负数,接收到的值为该负数的二进制补码。
vector < vector<bool>> st(10, vector<bool>(20)) 可以采用这样的形式去创建一个vector二维数组,且第二维为一个bool值。
queue<pair<int, int>> q 可以采用这样的形式去创建一个每个结点为一对值的队列。
如果对链表操作的话,新建一个虚拟节点作为该链表的头节点要比判断是否操作头节点简单的多。
auto dummy = new ListNode(-1) ;
dummy->next = head ;
利用形如这样的两行代码去生成一个虚拟节点,并将其放在头节点上。
删除一个结点的时候,如果不是很方便的寻找到他的前驱节点,可以拿到当前结点的下一个结点的值,并将其赋值给当前节点,再把当前节点的下一个结点删除掉。
将一个数字分为N段,并取这N段最大积的时候,这N段必然只含有一个 4 ,一个 2 和很多个3
dfs遍历路径的时候,可以使用两个方向向量来操作运动,
d[x] = {0,0,-1,1} d[y] = {1,-1,0,0},这表示了上下左右四个方向分别对应的操作。