- 博客(242)
- 资源 (3)
- 收藏
- 关注
原创 3. 无重复字符的最长子串
给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。解法:滑动窗口,left指向窗口的最左端,然后右边依次遍历。
2023-10-11 09:48:47 112
原创 golang中json序列号大小写的问题
go中根据首字母的大小写来确定可以访问的权限。如果首字母大写,则可以被其他的包访问;如果首字母小写,则只能在本包中使用。1.struct转json序列化//demo1package mainimport ( "fmt" "encoding/json")type Person struct { Name string age int}func main() { person := Person {"小明", 18} if result,err :=jso
2021-10-27 19:49:52 2655 1
原创 适合小白入门,一篇汇总k8s存储架构、csi原理和实现
centos过旧版本编译rocksdb出错会很多,不建议这么使用。实在环境受限制,可以尝试以下解决方法:1.编译报错Error: no such instruction: `shlx %ebx,%r14d,%ebx'需要升级各种编译工具,可参考centos6.3升级编译工具2.升级后编译,报错rocksdb/env/env_posix.cc:725:对‘clock_gettime’未定义的引用原因是glibc版本太旧了,ldd --version查看版本libc 2.12,需要修改编译ma
2021-09-22 11:26:54 3074 1
转载 golang序列化以及那些坑
一、基本概念1.什么是序列化/反序列化把对象转换为字节序列的过程称为对象的序列化;把字节序列恢复为对象的过程称为对象的反序列化。2.序列化的作用(1)把对象的字节序列永久地保存到硬盘上,通常存放在一个文件中(2)在网络上传送对象的字节序列。在很多应用中,需要对某些对象进行序列化,让它们离开内存空间,入住物理硬盘,以便长期保存。比如最常见的是Web服务器中的Session对象,当有 10万用户并发访问,就有可能出现10万个Session对象,内存可能吃不消,于是Web容器就会把一些seesion
2021-07-26 23:53:57 1094
原创 文件锁-flock和fcntl
文件级的锁:对整个文件加锁,flock系统调用文件内范围的锁:对文件的某个范围加锁,fcntl库函数1. flockflock是系统调用,加的建议锁tips:flock的锁的语义:获取到的锁是与打开的文件描述符,而不是文件描述符或者inode相关联(1)对于open同一个文件多次,获取到的不同fd,flock会认为是不同的,所以再加flock会block(2)flock创建的锁是和fd相关的,所以复制dup(fd)和fork产生的fd,都是同一把锁demo:#include <std
2021-07-12 10:25:24 562
原创 341. 扁平化嵌套列表迭代器
题目描述:给你一个嵌套的整型列表。请你设计一个迭代器,使其能够遍历这个整型列表中的所有整数。列表中的每一项或者为一个整数,或者是另一个列表。其中列表的元素也可能是整数或是其他列表。思路:参考:参考思路详解本文有两种主要的思路:1.在构造函数中提前「扁平化」整个嵌套列表2.在调用 hasNext() 或者 next() 方法的时候扁平化当前的嵌套的子列表1对应的递归,2对应的迭代之前想的是不是实现迭代器,类似链表,怎样保存下一个指针,方向不太对。Solution:class Nest
2021-03-23 23:09:10 107
原创 spark基础
1.parquetApache Parquet是Hadoop生态圈中一种新型列式存储格式,它可以兼容Hadoop生态圈中大多数计算框架(Hadoop、Spark等),被多种查询引擎支持(Hive、Impala、Drill等),并且它是语言和平台无关的。个人理解:parquet是多方公认的一种对外数据格式,将parquet数据读到内存中具体是什么类型,由使用方决定。parquet项目包含多个子项目,子项目有多个工具,方便读写parquet数据。parquet是列式存储,列式存储尤其适用OLAP场景,不需
2021-01-20 17:17:06 118
原创 vector保存局部变量和指向局部变量的指针区别
一、结论vector保存局部变量:可以,因为在vector上创建对象也是在堆上;vector保存指向局部变量的指针:不可以,因为局部变量离开作用域后,就会释放,指向局部变量的指针会指向未知的地址空间,指向的内容未知。demo1:验证vector即使局部变量也是堆上上分配。结果:返回的vector中保存的局部变量地址没有变化。#include <iostream>#include <vector>using namespace std;// 返回一个vector变量,
2021-01-18 17:59:59 1457
转载 C++ 类静态成员变量存取出错 undefined reference to ‘xxx‘
刚开始用C++写程序,遇到了一个很奇怪的问题,就是在类定义的面定义了一个静态成员变量,但在使用时编译器报错称变量不是类的成员。文件a.h内容:#define A_H class A { static int num1; int num2; A(); } #endif 文件a.c内容:#include "a.h" void A::A() { num2=1;//正确 num1=2;//报错 } 编译
2020-08-14 16:39:03 1209
转载 http和https的区别
http和https的区别https://cloud.tencent.com/developer/article/1381270
2020-07-30 11:58:42 129
原创 undefined reference to `vtable for FssHelper‘
1.编译报错:In function `~FssHelper':FssHelper.h:51: undefined reference to `vtable for FssHelper'2.查资料:(1)可能1:基类的析构函数需要有函数体。~IFssHelper() {}或者 ~IFssHelper() = default;(2)实际我已经添加了函数体,最后发现是代码里没有用到多态,没有生成vtable。生成vtable的时机是编译器发现有基类的指针指向派生类,才会去真正创建vtable
2020-07-29 14:51:50 166
原创 blade说明和使用
1.blade是什么?有什么优点?(1)blade是什么一个构建工具,根据BUILD文件构建目标,类似于make根据Makefile文件构建目标。(2)blade优点:先看makefile的缺点:间接依赖也需要在makefile里写明构建速度慢blade优点:依赖自动传递,只需要写出直接依赖,间接的依赖blade为你搞定构建速度更快增量构建2.blade怎么用Blade 通过一系列的名字为 “BUILD” 的文件(文件名全大写),这些文件需要开发者去编写。每个 BUILD文件
2020-07-21 18:19:29 8198
原创 C++编译常见错误
1.error: ‘common’ has not been declared没有include头文件或者没有using namespace2.undefined reference to void function,collect2: error: ld returned 1 exit status找的到头文件(找得到定义),链接ld找不到目标文件,因为找不到函数定义,函数实现没有找到前两个问题主要说明,.h和.cpp为什么会分开,.h是函数声明,方便其他人调用,.cpp是函数定义(函数实现),链
2020-07-15 19:41:13 1078
原创 error: ‘virtual void xxx const‘ was hidden [-Werror=overloaded-virtual]
从错误信息提示看,是虚函数被隐藏,所以报错。1.为什么会出现这种错误?(1)先理解重载和重写(覆盖)的区别:重载:函数名相同,函数参数不同,和返回类型无关;重写(覆盖):函数名相同,函数参数相同,多用在实现函数的多态;(2)这种报错,多是基类定义的虚函数被子类隐藏,子类定义了同名函数,但方法参数不同造成2.-Werror=overloaded-virtual这是编译选项,-Werror=overloaded-virtual:是报出error,W本身是warning,error是把warnin
2020-07-14 21:05:29 2386
原创 centos6.3安装poco库
1.poco库是什么c++库:跨平台的网络通讯库poco库详细介绍2.安装centos6.3,系统版本偏低,试了官网各种安装方法,cmake、bazel等都没有安装成功;发现是安装高版本poco库报错,选择了低版本的poco库。$wget --no-check-certificate https://pocoproject.org/releases/poco-1.8.0/poco-1.8.0-all.tar.gz$tar -zxvf poco-1.8.0-all.tar.gz$cd poc
2020-07-10 15:40:49 258
原创 ycsb使用
1.是什么YCSB(Yahoo! Cloud Serving Benchmark),是雅虎开源的一款通用的性能测试框架。2.可以做什么可以测试数据库,或者支持数据库操作的产品性能。内嵌了一些数据库产品和测试,并支持自定义数据库的测试,测试结果是吞吐量和延迟,可以了解数据库性能。3.ycsb执行的原理ycsb的目录:bin目录:目录下有个可执行的ycsb文件,是个python脚本,是用户操作的命令行接口。ycsb主逻辑是:解析命令行、设置java环境,加载java-libs,封装成可以执行的j
2020-06-30 21:01:13 3047
转载 maven教程
maven是一个项目构建和管理项目依赖的工具。遇到mvn编译时,从project的src/main/java目录开始查找源代码,不理解为什么一定是从这样的路径找?原因:在pom的配置文件中,// 配置mvn编译的源代码目录<resources> <resource> <directory>${project.basedir}/src/main/resources</directory> <filterin
2020-06-30 20:19:44 142
转载 /etc/profile、~/.bash_profile、~/.bash_rc的区别
https://www.jianshu.com/p/a57e8f1a3426https://www.jianshu.com/p/ff5648690bb0/etc/profile全局配置,对所有用户生效设置系统级的环境变量和启动程序,比如JAVA_HOME,M2_HOME等~/.bash_profile只对当前用户生效~/.bashrc也有系统级别/etc/bashrc主要是配置命令别名等...
2020-06-30 14:22:42 2449
原创 84. Largest Rectangle in Histogram
Description:Given n non-negative integers representing the histogram’s bar height where the width of each bar is 1, find the area of largest rectangle in the histogram.Analysis:输入一个数组,表示柱状图的高度,求出这个柱状图中的最大矩形的面积。面积=宽度*高度,关键在于求出宽度。height[i],求出下标i的左右两边第一个
2020-06-14 22:40:40 162
转载 将make的输出重定向到文件
[转载] https://blog.csdn.net/feihongwang/article/details/6975670 Linux中,脚本语言环境中,即你用make xxx即其他一些普通linux命令,比如ls,find等,不同的数字,代表不同的含义: 数字 含义 标准叫法0 标准输入 stdin = standard input1 标准输出 stdout = standard output2 标准错误输出 stderr = standard error而系统默认的stdin,s
2020-06-14 11:55:07 1433
原创 报警发现inode不足
Referenc:[1] http://www.dahouduan.com/2014/12/19/linux-inode-full/[2] https://my.oschina.net/adailinux/blog/1833466
2020-06-14 11:43:32 437
原创 libevent的安装和简单使用
1.安装libeventmac下下载源码安装,执行到make时报错,fatal error because of ‘openssl/bio.h’ file not foundopenssl实际已经安装,并且版本是最新。解决方法是:./configure LDFLAGS=’-L/usr/local/opt/openssl/lib’ CPPFLAGS=’-I/usr/local/opt/openssl/include’安装成功,安装的libevent在/usr/local/lib/目录下。2.简单例
2020-06-08 21:11:46 706
原创 98. Validate Binary Search Tree
Given a binary tree, determine if it is a valid binary search tree (BST).Assume a BST is defined as follows:The left subtree of a node contains only nodes with keys less than the node’s key.The right subtree of a node contains only nodes with keys great
2020-06-08 17:10:27 137
原创 监控系统系能-网络
netstat常见参数-a (all)显示所有选项,默认不显示LISTEN相关-t (tcp)仅显示tcp相关选项-u (udp)仅显示udp相关选项-n 拒绝显示别名,能显示数字的全部转化成数字。-l 仅列出有在 Listen (监听) 的服務状态-p 显示建立相关链接的程序名-r 显示路由信息,路由表-e 显示扩展信息,例如uid等-s 按各个协议进行统计-c 每隔一个固定时间,执行该netstat命令。提示:LISTEN和LISTENING的状态只有用-a或者-l才能看到参考
2020-06-04 11:31:30 179
原创 监控系统系能-磁盘
系统性能:cpu、内存、磁盘、网络一、磁盘先看磁盘基本信息df -hl二、iostat使用iostat -d -k 2 -x-d:显示设备(磁盘)使用状态;-k:某些使用block为单位的列强制使用kB为单位;2:数据显示每隔2秒刷新一次。-x:显示和io相关的扩展数据三、iotop使用很好用参考:[1] https://www.cnblogs.com/ggjucheng/archive/2013/01/13/2858810.html[2] https://linuxtools
2020-06-03 20:44:30 138
原创 监控系统性能-CPU
系统性能:cpu、内存、磁盘、网络监控cpu的命令:top和htop一、top使用1.top的直接视图执行top的直接视图,默认按照cpu使用率降序对进程排序详细:top命令2.top命令的参数top默认是对进程排序top -H:对线程排序top -p pid:查看线程号pid的cpu二、htop使用htop比top更好用详细参考:[1] https://cloud.tencent.com/developer/article/1508028除了top、htop还介绍了glances
2020-06-03 20:29:18 344
原创 817. Linked List Components
Description:We are given head, the head node of a linked list containing unique integer values.We are also given the list G, a subset of the values in the linked list.Return the number of connected components in G, where two values are connected if they
2020-05-27 10:45:12 168
转载 libevent中TAILQ_QUEUE队列的使用
https://blog.csdn.net/luotuo44/article/details/38374009
2020-05-20 17:38:48 174
原创 148. Sort List
Description:Sort a linked list in O(n log n) time using constant space complexity.Analysis:147是插入排序,时间复杂度O(N^2),这里要求O(n log n),快排满足要求。快排是用分治的思想,将链表分成两个子链表分别排序,然后再合并链表。Solution:class Solution {public: ListNode* sortList(ListNode* head) {
2020-05-18 12:19:31 120
原创 147. Insertion Sort List
Description:Sort a linked list using insertion sort.Analysis:插入排序,时间复杂度O(N^2)创建一个dummy node,方便从head开始遍历。可以结合题目148一起看。两种解法:解法一:断开链表,分成两个链表,链表1是有序链表,链表2是待排序链表,依次将链表2中的元素插入到链表1的有序链表中;解法二:不断开链表,依次移动结点,移动结点后,依然保持链表不断开。Solution1:class Solution {publ
2020-05-18 10:42:02 262
原创 42. Trapping Rain Water
Description:Given n non-negative integers representing an elevation map where the width of each bar is 1, compute how much water it is able to trap after raining.Analysis:1.直接的想法(not AC)找到一个“V”型区间,区间中间就是每个区间可以接的水。提交后,发现有case错误,原来这种解法相当于是贪心,没办法对求对全局的ca
2020-05-14 18:04:48 102
原创 56. Merge Intervals
Description:Given a collection of intervals, merge all overlapping intervals.Example 1:Input: [[1,3],[2,6],[8,10],[15,18]]Output: [[1,6],[8,10],[15,18]]Explanation: Since intervals [1,3] and [2,6] overlaps, merge them into [1,6].Example 2:Input: [[1
2020-05-12 21:03:55 118
原创 986. Interval List Intersections
Description:Given two lists of closed intervals, each list of intervals is pairwise disjoint and in sorted order.Return the intersection of these two interval lists.(Formally, a closed interval [a, b] (with a <= b) denotes the set of real numbers x w
2020-05-12 17:16:27 178
原创 78. Subsets
Description:Given a set of distinct integers, nums, return all possible subsets (the power set).Note: The solution set must not contain duplicate subsets.Analysis:解法1:分治思想,复杂问题化成简单的子问题,子集i是子集i-1,然后加上nums[i]构成的集合。全排列、全组合、子集可以归纳为一类问题。Solution1:时间复杂度O
2020-05-08 23:27:51 121
原创 236. Lowest Common Ancestor of a Binary Tree
Description:Given a binary tree, find the lowest common ancestor (LCA) of two given nodes in the tree.Analysis:第一种:很直接的解法公共祖先,所以从根到结点的path前面部分相同,有些类似两个链表的公共结点,先求出root到结点的path,然后比较即可。第二种:参考很巧妙的解法...
2020-05-08 15:46:03 174
原创 145. Binary Tree Postorder Traversal
Description:Given a binary tree, return the postorder traversal of its nodes’ values.Analysis:递归解法容易,如果是非递归呢?很好解法:二叉树非递归解法决定这个解法的原因是二叉树的结构和依次访问二叉树的顺序,根-左-左-根-右-右-根。Solution1:两个辅助栈,输出栈是后序遍历的逆序,辅...
2020-05-08 11:26:10 140
AWK程序设计语言翻译
2015-12-21
opencv1.0安装程序
2013-06-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人