归档
11
08
每日一题——1684.统计一致字符串的数目 每日一题——1684.统计一致字符串的数目
题干给你一个由不同字符组成的字符串 allowed 和一个字符串数组 words 。如果一个字符串的每一个字符都在 allowed 中,就称这个字符串是一致字符串。 请你返回 words 数组中一致字符串的数目。 思路直接
2022-11-08
07
每日一题——816.模糊坐标 每日一题——816.模糊坐标
题干我们有一些二维坐标,如 "(1, 3)" 或 "(2, 0.5)",然后我们移除所有逗号,小数点和空格,得到一个字符串S。返回所有可能的原始字符串到一个列表中。 原始的坐标表示法不会存在多余的零,
2022-11-07
10
26
深入理解 CPP 之 smart pointer 深入理解 CPP 之 smart pointer
shared_ptr定义遵循共享所有权的概念,即不同的 shared_ptr 对象可以与相同的指针相关联 如果指向的资源没有任何一方需要的话,就会析构并释放资源 实现每个shared_ptr对象在会在栈上设立两个指针,分别指向堆上的两个
2022-10-26
24
The Google File System The Google File System
gfs为google内部的文件系统,其开源实现为hdfs,大数据领域标准的开源实现 GFS是一个存储非结构化数据的存储系统,和bigtable(列存储,存储结构化数据,关系模型,表结构)是相对应的 GFS只存储数据,不关心数据的结构和内容是
2022-10-24
23
深入理解 CPP 之 type conversion 深入理解 CPP 之 type conversion
backround基类对象转换为派生类对象,是不安全的 派生类是包含于基类的,即基类的“体积”是小于派生类的 如果一个指向基类的指针强转为指向派生类的指针(该指针始终指向基类,只是指针类型变了),再通过该指针调用派生类的特有方法或者数据
2022-10-23
23
MapReduce: Simplified Data Processing on Large Clusters MapReduce: Simplified Data Processing on Large Clusters
mapreduce的背景随着业务的增长,待处理的数据集越来越多,单机无法在规定时间内对海量数据进行处理 因此需要同时使用多台机器对数据进行处理 而大规模的数据处理,需要同时应对多机并行协同,网络通信,处理错误,提高执行效率等问题 但这些问题
2022-10-23
22
深入理解 CPP 之 auto,decltype,move,forward 深入理解 CPP 之 auto,decltype,move,forward
left value定义其实left value并没有很好的定义去说明,一种被普遍认同的观点便是在内存的表达式,能够用内置&进行取地址的值 // 错误的观点1:等号右边的是右值,左边的是左值 int a = 3; //
2022-10-22
22
STL 源码剖析之 map STL 源码剖析之 map
STL中的红黑树特点RB-tree不仅是一个二叉搜索树,而且必须满足以下规则: 1、每个节点不是红色就是黑色 2、根节点是黑色 3、如果节点为红,其子节点必须为黑 4、任一节点到NULL(树尾端)的任何路径,所含的黑色节点数必须相同
2022-10-22
21
STL 源码剖析之 deque STL 源码剖析之 deque
定义是一种双向开口的连续线性空间,可以在头尾两端分别做元素的插入和删除 允许O(1)时间内对头端进行元素的插入或移除操作 没有容量的概念,因为它是以动态的分段连续空间合成,随时可以增加一段新的空间并连接起来 一旦有必要在deque的前
2022-10-21
20
STL 源码剖析之 vector STL 源码剖析之 vector
实现 vector 中有三个指针:指向使用空间的头(start)和尾(finish),以及可用空间的尾(end_of_storage) 可用空间:为了降低空间配置的速度成本,vector 实际配置的大小可能比客户需求的大一些(即capaci
2022-10-20
10
10
Deep into BinaryTree Deep into BinaryTree
二叉树的基本性质思路 二叉搜索树的基本性质,二叉树前中后序遍历的特性,完全二叉树的性质 从前,中遍历或中,后遍历能够推出二叉树 关于节点数量的规律:设非空二叉树中度为0、1和2的结点个数分别为n0、n1和n2,则有 n0 = n2 + 1
2022-10-10
3 / 4