<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[ldbite的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/ldbite</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; ldbite]]></copyright><item><title><![CDATA[字节跳动4面面筋]]></title><link>https://blog.youkuaiyun.com/ldbite/article/details/116355425</link><guid>https://blog.youkuaiyun.com/ldbite/article/details/116355425</guid><author>ldbite</author><pubDate>Sun, 02 May 2021 17:53:56 +0800</pubDate><description><![CDATA[一面：
狂问项目–架构
快排
归并
让我10分钟后准备二面
二面：
linux虚拟内存
给一个矩阵，一个坐标，这个坐标的点只能向比他小的格子（上下最有）移动，能不能到达边缘–dfs暴力搞定
让我明天准备3面
三面：
狂问项目–架构
从西安到北京有很多路线，找出最近的一条。–不会，后来查的是用动归
给一个数组，找出所有和为target的子数组–dfs硬搜
让我准备hr
hr:
随便聊聊
问我对技术和测试哪个更感兴趣，我说技术，然后给我安排加了一面（进公司后才知道给我加了100块钱哈）
加面：
rand3求ra]]></description><category></category></item><item><title><![CDATA[git操作]]></title><link>https://blog.youkuaiyun.com/ldbite/article/details/115298950</link><guid>https://blog.youkuaiyun.com/ldbite/article/details/115298950</guid><author>ldbite</author><pubDate>Mon, 29 Mar 2021 13:28:41 +0800</pubDate><description><![CDATA[1、本地初始化 git 设置
git config --global user.name “你的名字或昵称”
git config --global user.email “你的邮箱”
2、进入项目文件夹，初始化目录 – 通过命令 git init 把这个目录变成git可以管理的仓库
git init
3、把文件添加到版本库中 – 通过命令 git add . / git add -A 添加到暂存区里面去，后面的小数点“.”和“-A”，意为添加文件夹下的所有文件，如需添加指定文件夹 git add 后面直接]]></description><category></category></item><item><title><![CDATA[linux下jsoncpp的使用]]></title><link>https://blog.youkuaiyun.com/ldbite/article/details/108921376</link><guid>https://blog.youkuaiyun.com/ldbite/article/details/108921376</guid><author>ldbite</author><pubDate>Sun, 04 Oct 2020 19:21:41 +0800</pubDate><description><![CDATA[第一步:
首先安装jsoncpp库
我买的腾讯的云服务器,系统是centos7
下边为安装指令
yum install jsoncpp-devel
安装后,我们只需要在程序中包含头文件
#include&lt;jsoncpp/json/json.h&gt;
就可以使用jsoncpp提供的方法去读写json文件
下边是一些常间的例子
比如对于这个test.json文件内容
{
“name” : “xiaohua”,
“age” : 18,
“sex” : “male”
}
读取的方法为
test.cpp:
#]]></description><category></category></item><item><title><![CDATA[csdn索引]]></title><link>https://blog.youkuaiyun.com/ldbite/article/details/107827422</link><guid>https://blog.youkuaiyun.com/ldbite/article/details/107827422</guid><author>ldbite</author><pubDate>Wed, 05 Aug 2020 22:53:43 +0800</pubDate><description><![CDATA[电我头像即可查看我所有的csdn文档

]]></description><category></category></item><item><title><![CDATA[牛客客似云来(大数算法)]]></title><link>https://blog.youkuaiyun.com/ldbite/article/details/107803682</link><guid>https://blog.youkuaiyun.com/ldbite/article/details/107803682</guid><author>ldbite</author><pubDate>Tue, 04 Aug 2020 23:21:32 +0800</pubDate><description><![CDATA[#include
#include
#include
#include
#include
using namespace std;
//大数相加
string add(string&amp; s1,string&amp; s2)
{
string str1=s1;
string str2=s2;
//反转
reverse(str1.begin(),str1.end());
reverse(str2.begin(),str2.end());
int len=str1.size()&gt;str2.size()]]></description><category></category></item><item><title><![CDATA[推箱子,带登录,带写入文件,带悔棋,无UI界面,大学c语言课程设计可用]]></title><link>https://blog.youkuaiyun.com/ldbite/article/details/107720072</link><guid>https://blog.youkuaiyun.com/ldbite/article/details/107720072</guid><author>ldbite</author><pubDate>Fri, 31 Jul 2020 19:30:48 +0800</pubDate><description><![CDATA[#include&lt;stdio.h&gt;
#include&lt;string.h&gt;
#include&lt;stdlib.h&gt;
#include&lt;conio.h&gt;
#include&lt;Windows.h&gt;
int arr[5][10][10] =    // 5张地图
{
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 4, 3, 0, 0, 0, 0, 3, 4, 1,
1, 0, 0, 0, 0, 0, 0, 0, 0, 1,
1, 0, 0,]]></description><category></category></item><item><title><![CDATA[c++特殊类]]></title><link>https://blog.youkuaiyun.com/ldbite/article/details/107719900</link><guid>https://blog.youkuaiyun.com/ldbite/article/details/107719900</guid><author>ldbite</author><pubDate>Fri, 31 Jul 2020 19:16:16 +0800</pubDate><description><![CDATA[#include 
#include 
using namespace std;
//只能在堆上创建对象
//1.构造函数私有(防止在栈和数据段进行创建对象)
//2.ban掉构造函数和赋值运算符
//3.提供创建对象的方法(必须为静态,否则类名+::掉不动)
class HeapOnly
{
public:
static HeapOnly* create()
{
return new HeapOnly;
}
private:
HeapOnly()
{}
HeapOnly(const HeapOnly&am]]></description><category></category></item><item><title><![CDATA[哈希表的实现(线性探测,开散列,位图,布隆过滤器)]]></title><link>https://blog.youkuaiyun.com/ldbite/article/details/107570604</link><guid>https://blog.youkuaiyun.com/ldbite/article/details/107570604</guid><author>ldbite</author><pubDate>Fri, 24 Jul 2020 22:09:04 +0800</pubDate><description><![CDATA[//线性探测,性能较差,一般不用
#include
#include
#include
using namespace std;
enum Status{
EXIST,DEL,EMPTY
};
template&lt;class K,class V&gt;
struct HashNode
{
pair&lt;K,V&gt;_val;
Status _status;
HashNode(const pair&lt;K,V&gt;&amp; val=pair&lt;K,V&gt;())
:_val(val)
,_]]></description><category></category></item><item><title><![CDATA[线性探测哈希表]]></title><link>https://blog.youkuaiyun.com/ldbite/article/details/107523058</link><guid>https://blog.youkuaiyun.com/ldbite/article/details/107523058</guid><author>ldbite</author><pubDate>Wed, 22 Jul 2020 20:55:40 +0800</pubDate><description><![CDATA[//哈希闭散列线性探测
#include
#include
#include
using namespace std;
enum Status
{
EXIST,DEL,EMPTY
};
template &lt;class K,class V&gt;
struct HashNode
{
pair&lt;K, V&gt;_val;
Status _status;
HashNode(const pair&lt;K, V&gt;&amp; val = pair&lt;K, V&gt;())
:_val(val)
]]></description><category></category></item><item><title><![CDATA[红黑树实现map和set]]></title><link>https://blog.youkuaiyun.com/ldbite/article/details/107433155</link><guid>https://blog.youkuaiyun.com/ldbite/article/details/107433155</guid><author>ldbite</author><pubDate>Sat, 18 Jul 2020 18:23:10 +0800</pubDate><description><![CDATA[#pragma once
#include
#include
using namespace std;
enum Color
{
BLACK, RED
};
template 
struct RBNode
{
V _val;
Color color;
RBNode* _left;
RBNode* _right;
RBNode* _parent;
RBNode(const V&amp; val = V())
:_val(val),
color(RED),
_left(nullptr),
_right(null]]></description><category></category></item><item><title><![CDATA[扑克牌--＞牛客最搞心态的题目]]></title><link>https://blog.youkuaiyun.com/ldbite/article/details/107383273</link><guid>https://blog.youkuaiyun.com/ldbite/article/details/107383273</guid><author>ldbite</author><pubDate>Thu, 16 Jul 2020 15:05:44 +0800</pubDate><description><![CDATA[#include
#include
#include
#include
#include
using namespace std;
#define B_KING 200
#define S_KING 100
bool isDoubleKing(vector&amp; arr)
{
return arr[0] == S_KING &amp;&amp; arr[1] == B_KING;
}
bool isDouble(vector&amp; arr)
{
return arr[0] == arr[1];
}
]]></description><category></category></item><item><title><![CDATA[网易跳石板问题详解]]></title><link>https://blog.youkuaiyun.com/ldbite/article/details/107315458</link><guid>https://blog.youkuaiyun.com/ldbite/article/details/107315458</guid><author>ldbite</author><pubDate>Mon, 13 Jul 2020 13:50:17 +0800</pubDate><description><![CDATA[基本思想:DP算法
首先创建一个最大值+1那么大的数组表示每一个石板,之所以是最大值+1的原因是要取下标为最大值的石板
然后遍历每个石板,把每个石板的约数都保存起来,然后取到从这个石板过去的最小值(即最优解)
然后取最大值对应的那个石板返回就OK
DP算法的核心思维其实就是每一步取最优解,它也是一种分治思想的深刻体现
#include
#include
#include
using namespace std;
void GainStep(int n, vector&amp; arr)
{
//for (i]]></description><category></category></item><item><title><![CDATA[AVL树]]></title><link>https://blog.youkuaiyun.com/ldbite/article/details/107300691</link><guid>https://blog.youkuaiyun.com/ldbite/article/details/107300691</guid><author>ldbite</author><pubDate>Sun, 12 Jul 2020 15:59:40 +0800</pubDate><description><![CDATA[AVL树的各种变换图

//AVL 树
#include
#include
#include
using namespace std;
template
struct TreeNode
{
T _val;
TreeNode* _left;
TreeNode* _right;
int bf;
TreeNode* _parent;
TreeNode(const T&amp; val = T())
:_val(val), _left(nullptr), _right(nullptr),bf(0),_parent(]]></description><category></category></item><item><title><![CDATA[用管道写的ls-l]]></title><link>https://blog.youkuaiyun.com/ldbite/article/details/107180342</link><guid>https://blog.youkuaiyun.com/ldbite/article/details/107180342</guid><author>ldbite</author><pubDate>Tue, 07 Jul 2020 14:09:34 +0800</pubDate><description><![CDATA[#include&lt;stdio.h&gt;
#include&lt;stdlib.h&gt;
#include&lt;unistd.h&gt;
#include&lt;fcntl.h&gt;
int main()
{
int fds[2];
int ret=pipe(fds);
if(ret==-1)
perror(“fds”),exit(0);
pid_t pid=fork();
if(pid0)
{
dup2(fds[1],1);
execlp(“ls”,“ls”,"-l",NULL);
exit(]]></description><category></category></item><item><title><![CDATA[set的基本接口以及基本性质,基本接口测试]]></title><link>https://blog.youkuaiyun.com/ldbite/article/details/107152357</link><guid>https://blog.youkuaiyun.com/ldbite/article/details/107152357</guid><author>ldbite</author><pubDate>Mon, 06 Jul 2020 11:23:55 +0800</pubDate><description><![CDATA[1.创建
set&lt;typename, compare&gt;对象名字按照compare的方式来决定输出排序方式
,如果第二个参数不写,缺省是从小到大
2.迭代器
begin()返回一个指向当前容器开始位置的只读迭代器
end()返回一个指向当前容器末尾位置的只读迭代器
rbegin()返回一个指向当前容器开始末尾的只读迭代器
rend()返回一个指向当前容器开始位置的只读迭代器
cbegin()返回一个指向当前容器开始位置的只读迭代器
cend()返回一个指向当前容器末尾位置的只读迭代器
rcbegi]]></description><category></category></item><item><title><![CDATA[linux线程处理函数封装]]></title><link>https://blog.youkuaiyun.com/ldbite/article/details/107144843</link><guid>https://blog.youkuaiyun.com/ldbite/article/details/107144843</guid><author>ldbite</author><pubDate>Sun, 05 Jul 2020 20:57:34 +0800</pubDate><description><![CDATA[#include
#include&lt;time.h&gt;
#include&lt;pthread.h&gt;
using namespace std;
namespace DongGe
{
class thread{
typedef void*(func)(void);
public:
//构造函数
thread(func run,void* p)
{
pthread_create(&amp;tid,NULL,run,p);
}
thread(func run)
{
pthread_create(&a]]></description><category></category></item><item><title><![CDATA[线程池]]></title><link>https://blog.youkuaiyun.com/ldbite/article/details/107141494</link><guid>https://blog.youkuaiyun.com/ldbite/article/details/107141494</guid><author>ldbite</author><pubDate>Sun, 05 Jul 2020 17:10:13 +0800</pubDate><description><![CDATA[头文件:
pthread.h
#pragma once
#include&lt;pthread.h&gt;
struct task{
void*(run)(void arg); //任务执行回调函数
void* arg; //回调函数的参数
struct task* next; //指向下一个任务节点的指针
};
typedef  struct task task_t;
struct thread_pool
{
pthread_mutex_t mutex; //线程锁
pthread_cond_t  con]]></description><category></category></item><item><title><![CDATA[完全二叉树]]></title><link>https://blog.youkuaiyun.com/ldbite/article/details/107123870</link><guid>https://blog.youkuaiyun.com/ldbite/article/details/107123870</guid><author>ldbite</author><pubDate>Sat, 04 Jul 2020 14:16:46 +0800</pubDate><description><![CDATA[#include
#include
using namespace std;
template
struct BTNode
{
T _val;
BTNode* _left;
BTNode* _right;
BTNode(const T&amp; val = T())
:_val(val), _left(nullptr), _right(nullptr)
{
}
};
template
class BSTree
{
public:
typedef BTNode Node;
public:
Node* find]]></description><category></category></item><item><title><![CDATA[list类的基本实现和常用的接口]]></title><link>https://blog.youkuaiyun.com/ldbite/article/details/106765730</link><guid>https://blog.youkuaiyun.com/ldbite/article/details/106765730</guid><author>ldbite</author><pubDate>Mon, 15 Jun 2020 16:41:44 +0800</pubDate><description><![CDATA[#include
using namespace std;
template 
class ListNode {
public:
ListNode(const T&amp; val = T())
:_val(val), _next(nullptr), _prev(nullptr)
{}
T _val;
ListNode* _next;
ListNode* _prev;
};
//迭代器类
template&lt;class T, class Ref, class Ptr&gt;
class ListIter]]></description><category></category></item><item><title><![CDATA[vector的简单实现]]></title><link>https://blog.youkuaiyun.com/ldbite/article/details/106734074</link><guid>https://blog.youkuaiyun.com/ldbite/article/details/106734074</guid><author>ldbite</author><pubDate>Sat, 13 Jun 2020 16:23:15 +0800</pubDate><description><![CDATA[#include 
#include 
using namespace std;
template 
class Vector
{
public:
Vector()
:_start(nullptr)
, _finish(nullptr)
, _eos(nullptr)
{}
size_t size() const
{
	return _finish - _start;
}

size_t capacity() const
{
	return _eos - _start;
}

void pushBack(c]]></description><category></category></item></channel></rss>