摘要:
在M1的Mac上安装kafka 阅读全文
摘要:
stl中默认堆为大根堆,大根堆的定义为: priority_queue<int> q; 根据源码中的定义,有如下代码: template <class _Tp, class _Container = vector<_Tp>, class _Compare = less<typename _Conta 阅读全文
摘要:
CSV切割demo:实现了按行数切割以及按文件书切割 #!/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 2021/4/2 12:17 下午 # @Author : Xinlong Chen # @File : test.py import 阅读全文
摘要:
deque概述 deque是一种双向开口的“连续”线性空间(即可以在头尾两端分别做元素的插入和删除操作)。 deque与vector的差别: deque允许在常数时间内对头端进行元素的插入和删除操作,vector尾部插入和删除常数时间,头部操作O(n)时间 deque没有容量概念,不需要和vecto 阅读全文
摘要:
leetcode 173. 二叉搜索树迭代器:实现一个二叉搜索树迭代器类BSTIterator ,表示一个按中序遍历二叉搜索树(BST)的迭代器。 阅读全文
摘要:
给定一个二叉树的根节点 root ,返回它的 中序 遍历。使用递归、迭代、染色(迭代的另一种方法)三种方法实现。 阅读全文
摘要:
解决MemoryError: Cannot allocate write+execute memory for ffi.callback() 问题 阅读全文
摘要:
array底层就是一个定长数组,给定长数组加上迭代器相关的东西,就可以让他像一个容器,符合容器的性质。 #define _NOEXCEPT noexcept template<class _Tp, size_t _Size> struct array { // types: typedef _Tp 阅读全文
摘要:
二叉树的通用中序遍历方法(迭代): 思路来源:https://leetcode-cn.com/problems/binary-tree-inorder-traversal/solution/yan-se-biao-ji-fa-yi-chong-tong-yong-qie-jian-ming/ /** 阅读全文
摘要:
之前写了这样一段代码, printf("%d | %d \n", sizeof(std::list<int>), sizeof(std::list<long long>)); /* 24 | 24 */ 首先我们需要知道list是个什么东东: 点进std::list,可以看到以下代码,可以看出lis 阅读全文
摘要:
list概述 list底层为非连续区间,即链表(实质上是一个双向循环链表) list每次插入或者删除一个元素,就配置和释放一个元素空间,对于任何位置的原属插入或原属移除,list永远为常数时间。 list的节点 首先要知道,list本身和list的节点是不同的,如果我们声明一个list,里面放了10 阅读全文
摘要:
vector概述 向量(Vector)是一个封装了动态大小数组的顺序容器(Sequence Container)。跟任意其它类型容器一样,它能够存放各种类型的对象。可以简单的认为,向量是一个能够存放任意类型的动态数组。 vector的实现技术,关键在于其对大小的控制以及重新配置时的数据移动效率,即“ 阅读全文
摘要:
1 C++ 内存配置操作和释放操作 class FOO{}; FOO *pf = new FOO; delete pf; 对于上述代码,其在底层执行内容为: line 2:new操作,首先调用operator new分配内存 (2)调用FooFoo() 构造对象内容; operator new底层调 阅读全文
摘要:
const修饰的变量,它的值不能被改变。只能执行不改变其内容的操作。const修饰的变量一样能进行算数运算等操作。 const int bufSize = 512; 如果对其进行修改,则会引发错误。 bufSize = 1024; //error const对象必须初始化 const修饰不具有传递性 阅读全文
摘要:
实现一个操作符重载的方式通常有两种情况: 将操作符重载实现为类的成员函数。 操作符重载实现为非类的成员函数(即全局函数)。 将操作符重载实现为类的成员函数 在类体中声明(定义)需要重载的操作符,声明方式跟普通的成员函数一样,只不过操作符重载函数的名字是“关键字operator +以及紧跟其后的一个C 阅读全文
摘要:
题目链接:https://leetcode-cn.com/problems/sort-list/ 就是对一个链表进行排序。。 我采取得快排的思路,提交超过5%。。。看list标准库是用归并排序实现的,过几天改下的,现在先把链表快排的思路放上: 选择target(即基础点,左边的元素都小于target 阅读全文
摘要:
题目内容: 给定一个链表,判断链表中是否有环。 如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。注意:pos 不作为参数进 阅读全文
摘要:
题目链接:https://leetcode-cn.com/problems/number-of-islands/ 思路:其实就相当于找这个图的连通分量数目,可以dfs,bfs和并查集,下面给出并查集的解法。 有个小技巧:只需要向右和向下两个方向合并就好了,因为左和上两个方向属于重复边。 下次再做这题 阅读全文
摘要:
题目链接:https://leetcode-cn.com/problems/baby-names-lcci/ 分析题意可以知道这是个并查集,新增一个size数目来维护集合数量大小就可以了(size数组只有当是父节点时才有意义) 思路:将synonyms中的相同的名字合并即可,但是names的处理就比 阅读全文
摘要:
题目可见:https://leetcode-cn.com/problems/number-of-provinces/ 很明显是一个并查集,上模版即可: class Solution { public: int findCircleNum(vector<vector<int>>& isConnecte 阅读全文