摘要: 系统为WIN7(64位),利用$vscode$和$MinGW$配置$C$++环境。 https://www.cnblogs.com/bpf-1024/p/11597000.html 打开文件夹的位置不要包含中文 打开新的文件夹要查看$tasks.json$和$launch.json$ 阅读全文
posted @ 2020-08-20 17:45 Peterxiazhen 阅读(119) 评论(0) 推荐(0) 编辑
摘要: 关于内联函数的讲解,很不错。 传送门 阅读全文
posted @ 2020-08-18 19:13 Peterxiazhen 阅读(65) 评论(0) 推荐(0) 编辑
摘要: 传送门 题目分析: 对于只含有0和1的二维网路,题目实际上问的是二维网络中连通着的'1'的块数(这里的连通只能是上下左右连通)。那么,我们可以遍历二维网络,对于陆地(由'1'构成),搜索与其向连的'1'(陆地),$NumIsland$加一,当搜索完一块儿陆地(连着的'1')后,一定将他们变为'0', 阅读全文
posted @ 2020-08-11 18:44 Peterxiazhen 阅读(224) 评论(0) 推荐(0) 编辑
摘要: 传送门 题目分析:按照最大子序列和的想法很容易写出转台转移方程: $$dp_{max}\left [ i \right ]=max\left ( dp_{max}[i-1]\ast nums\left [ i \right ],nums\left [ i \right ] \right )$$ $d 阅读全文
posted @ 2020-08-08 11:43 Peterxiazhen 阅读(148) 评论(0) 推荐(0) 编辑
摘要: 传送门 题目分析:题目要求时间复杂度为$O(nlogn)$,空间复杂度为$O(1)$,根据时间复杂度,我们自然能想到二分,故这里要用到归并排序。对链表的排序,可以通过修改指针来更改节点顺序,无需像数组一样额外开辟存储空间。归并排序有递归和非递归的做法,这里采用递归的做法。 首先,讲一下什么是归并排序 阅读全文
posted @ 2020-08-08 11:29 Peterxiazhen 阅读(241) 评论(0) 推荐(0) 编辑
摘要: 传送门 题目分析:采用贪心的策略,如果要在第$i$天将股票卖出去,那么买入时一定在$1..i-1$天,为了获得最大的利润,我们用$MinPrices$表示买入的最低点即可。然后遍历一遍数组,维护最大利润即可。 const int inf = 0x3f3f3f3f; class Solution { 阅读全文
posted @ 2020-08-04 11:48 Peterxiazhen 阅读(121) 评论(0) 推荐(0) 编辑
摘要: 传送门 方法一:异或运算 异或运算满足交换律和结合律:a⊕b⊕a=b⊕a⊕a=b⊕(a⊕a)=b⊕0=b 因为整数数组中的数字只能出现一次或者两次,两个相同数字的异或是0,那么将数组中的所有数字做异或运算后,出现两次的数字两两异或后变成0,出现一次的数字和0异或后还是本身。 /*位运算,将vecto 阅读全文
posted @ 2020-08-04 11:44 Peterxiazhen 阅读(95) 评论(0) 推荐(0) 编辑
摘要: 传送门 题目分析:判断一个字符串能否能否被字典中的短串划分,可以采用动态规划的思想。令$dp[i]$表示 字符串的前$i$个字符组成的字符串$s[0..i-1]$能否被空格拆分为若干个字典中出现的单词。判断$dp[i]$时 ,我们要枚举$0..i-1$中的分割点$j$,看$s[0..j-1]$组成的 阅读全文
posted @ 2020-08-04 11:37 Peterxiazhen 阅读(132) 评论(0) 推荐(0) 编辑
摘要: 传送门 题目分析:将二叉树展开为单链表,单链表中各个节点的顺序即为二叉树前序遍历的顺序,故可以通过二叉树的前序遍历获得单链表各个节点的顺序。但是将二叉树转化为单链表后就破坏了二叉树的结构,所以可以保存前序遍历的结果,然后分别依次更改节点的左右节点的信息。 二叉树的前序遍历用递归的方法,代码如下: / 阅读全文
posted @ 2020-08-03 10:04 Peterxiazhen 阅读(153) 评论(0) 推荐(0) 编辑
摘要: 别人总结的很好,直接上传送门 阅读全文
posted @ 2020-08-02 19:56 Peterxiazhen 阅读(175) 评论(0) 推荐(0) 编辑