摘要: 仅供自己学习 思路: 如果暴力解,就是从A每个与B C D中的每一个元素相加,那么时间复杂度就是O(n^4) 如果用一个hash表,存储结果,每次值用O(1)的时间获取并相加,则可以优化到O(n^2) 我们用hash表存储A+B的结果,A+B的结果作为key值,然后value值就是计数有多少个这种结 阅读全文
posted @ 2021-03-09 16:58 Mrsdwang 阅读(33) 评论(0) 推荐(0) 编辑
摘要: 仅供自己学习 思路: 因为两棵树都是二叉搜索树,所以我们直接中序遍历获得从小到大排序好的一个vector,然后在进行归并排序即可。 将树转为vector用的模板的中序遍历即可。 对于归并排序一个while循环,加入的条件是 i<r1.size()&& (r1[i]<=r2[j] || j==r2.s 阅读全文
posted @ 2021-03-09 12:53 Mrsdwang 阅读(31) 评论(0) 推荐(0) 编辑
摘要: 仅供自己学习 思路: 一开始是想直接用erase函数删除,但是发现能想到的删除方式都会越界,例如下标0后还--,第一个元素还用0-1。 因为存在abba这种情况,当删除bb后还需要删除aa,那么就需要一个数据结构来存储这个a,方便第2个a能和他比较。这里我们用栈来存储。 当每次都判断当前的元素是否等 阅读全文
posted @ 2021-03-09 11:14 Mrsdwang 阅读(36) 评论(0) 推荐(0) 编辑