自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(137)
  • 资源 (4)
  • 收藏
  • 关注

原创 字节跳动2022秋招提前批来了!!!

【关于我们】互娱研发部门负责抖音、抖音火山版、直播、音乐、影像等多款明星产品的研发,截止2020年8月,抖音连同抖音火山版在内,日活用户超6亿,并继续保持高速增长。加入我们,你会支持包括但不限于上述产品的研发和相关架构工作,每一行代码都能服务亿万用户。【招聘岗位】 后端、大数据、前端、iOS、Android、测试开发、测试、 C++ 、数据分析 等【工作地点】北京、上海、深圳、杭州、广州、成都、武汉 任你选择【面试形式】视频面试,让你offer近在咫尺!【为什么选择提前批】针对22届研发

2021-07-10 01:00:11 1088

转载 #pragma pack(push,1) & #pragma pack(pop)

转载自:http://blog.csdn.net/mannhello/article/details/53844311 引子      在程序中,有的时候我们定义结构体的时候,要用#pragma pack(push,1) & #pragma pack(pop)类似代码将结构体包起来。一般形式如下:#pragma pack(push,1);struct A{ } ;

2017-08-23 16:34:07 655

原创 并查集

一、并查集的定义并查集是一种维护集合的数据结构,它的名字中“并”“查”“集”分别取自Union(合并)、Find(查找)、Set(集合)这三个单词。也就是说,并查集支持下面两个操作:①合并:合并两个集合。②查找:判断两个元素是否在一个集合。那么并查集使用什么实现的呢?其实就是用一个数组:int father[N];其中father[i]表示元素i的父结点,而父亲结点本身也是

2017-08-08 08:39:44 522

原创 平衡二叉树(AVL树)

一、平衡二叉树的定义平衡二叉树是由前苏联两位科学家G.M.Adelse-Velskil和E.M.Landis提出,因此一般也称作AVL树。AVL树仍然是一颗二叉查找树,只是在其基础上增加了“平衡”的要求。所谓平衡是指,对AVL树的任意结点来说,其左子树与右子树的高度之差的绝对值不超过1;其中左子树与右子树的高度之差称为该结点的平衡因子。只要能随时保证每个结点平衡因子的绝对值不超过1

2017-08-07 21:49:49 410

原创 第一个windows程序

打开vs2015,新建一个空的win32项目,并向项目中添加一个main.cpp的c++源文件。main.c中的代码如下:#include #include LRESULT CALLBACK WinProc( HWND hwnd, //handle to window UINT uMsg, //message identifier WPARAM wParam, //first

2017-08-07 20:38:23 376

原创 二叉查找树(BST)

一、二叉查找树的定义二叉查找树(Binary Search Tree, BST)是一种特殊的二叉树,又称为排序二叉树、二叉搜索树,二叉排序树。二叉查找树的递归定义如下:1、要么二叉查找树是一颗空树。2、要么二叉查找树由根结点、左子树、右子树组成,其中左子树和右子树都是二叉查找树,且左子树上所有结点的数据域均小于或等于根结点的数据域,右子树上所有的结点的数据域均大于根结点的数据域。

2017-08-07 16:12:32 390

原创 二叉树的静态实现

在定义二叉树时,采用的是二叉链表的结构,如下所示:struct node{ typename data; node* lchild; node* rchild;}; 在这个定义中,为了能够实时控制新生成结点的个数,结构体node中的左右指针域都使用了指针,但如果要避免使用指针的话,就要采用静态二叉链表的方法。所谓的静态二叉链表是指,结点的左右指针域使用int型代替,用来表示左右

2017-08-07 14:08:09 1154

原创 二叉树的遍历

一、二叉树的遍历二叉树的遍历是指通过一定顺序访问二叉树的所有结点。遍历方法一般有四种:先序遍历、中序遍历、后序遍历、层序遍历,其中,前三种一般使用深度优先所搜(DFS)实现,而层序遍历一般使用广度优先搜索 (BFS)实现。1、先序遍历的实现:void preOrder(node* root){ if(root == NULL){ //递归边界 return; }

2017-08-07 11:48:16 211

原创 二叉树的基本概念

node* root = NULL;一、二叉树的递归定义1、要么二叉树没有根结点,是一颗空树。2、要么二叉树由根结点、左子树、右子树组成,且左子树和右子树都为二叉树。二、二叉树的存储结构与基本操作1、二叉树的存储结构:       一般来说,二叉树使用链表来定义。和普通链表的区别是,由于二叉树每个结点有两条出边,因此指针域变成了两个-------分别是指向左子树的根

2017-08-07 09:41:53 360

原创 广度优先搜索(BFS)

题目:给出一个m x n的矩阵,矩阵中的元素为0或1。称位置(x, y)与其上下左右四个位置(x, y+1)、(x, y-1)、(x+1, y)、(x-1, y)是相邻的。 如果矩阵中有若干个1是相邻的(不必两两相邻),那么称这些1构成了一个“块”。求给定矩阵中“块”的个数。                                             0   1   1   1

2017-08-06 22:22:48 379

原创 深度优先搜索(DFS)

题目:有n件物品,每件物品的重量为w[i],价值为c[i]。现在需要选出若干件物品放入一个容量为V的背包中,使得在选入背包的物品重量和不超过容量V的前提下,让背包中物品的价值之和最大,求最大价值(1题解:#include const int maxn = 30;int n, V, maxValue = 0; //物品件数n,背包容量V,最大价值maxValue int w

2017-08-06 20:28:25 350

原创 静态链表

上一篇文章说的是动态链表:点击打开链接动态链表需要用指针来建立结点之间的联系,如果结点的地址是比较小的整数的话,就没有必要去建立动态链表,而应该使用更方便的静态链表。静态链表的实现原理是hash,即通过一个建立一个结构体数组,并令数组的下标直接表示结点的地址,来达到直接访问数组中的元素就能访问结点的效果。对于静态链表,由于结点的访问时非常方便的,所以不需要头结点。静态链表的定义方法如下:s

2017-08-06 19:14:25 575

原创 动态内存分配以及链表的基本操作

一、c/c++中的动态内存分配1、在c中申请动态内存使用的是malloc函数,malloc函数位于stdlib.h头文件下,其返回类型是申请的同变量类型的指针。例如申请一个node类型结构体变量使用以下的方式:node* p = (node*) malloc(sizeof(node));用malloc函数申请的内存空间用完后需要使用free函数释放,例如释放前面申请的内存空间 :fre

2017-08-06 18:38:01 1554

原创 简单计算器

题目描述读入一个只包含 +, -, *, / 的非负整数计算表达式,计算该表达式的值。输入测试输入包含若干测试用例,每个测试用例占一行,每行不超过200个字符,整数和运算符之间用一个空格分隔。没有非法表达式。当一行中只有0时输入结束,相应的结果不要输出。输出对每个测试用例输出1行,即该表达式的值,精确到小数点后2位。样例输入30 /

2017-08-02 20:35:47 387

原创 android网络访问框架OkHttp使用入门

虽然在android中我们可以使用java.net包中的HttpURLConnection类来访问网络,但是用起来确不是很方便,所以出现了一些网络访问框架,使得我们对网络的访问更加容易,这篇文章准备解下OkHttp这款框架的简单的使用,OkHttp是由Square公司开发的,并且OkHttp项目在github上开源,该项目的主页地址为:点击打开链接使用OkHttp发送网络请求的流程大致如下:

2017-07-26 16:26:15 840

原创 android中使用http协议访问网络

在android应用中可以通过HttpURLConnection类来使用http协议访问网络,大概的流程是这样的。1、获取HttpURLConnection的实例,通过一个URL对象调用openConnection()方法来获得2、通过HttpURlConnection实例的setRequestMethod()方法设置http请求所用的方法,一般为GET或POST3、使用HttpURL

2017-07-26 15:28:49 588

原创 android网络初探--WebView的使用

WebView控件可以使得我们在程序中展示网页,而无需借助于系统中的浏览器应用,WebView的使用也是相当简单,下面举个例子,新建一个WebView项目

2017-07-26 14:43:51 376

原创 android中播放视频

在android中播放视频主要是通过VideoView类实现。这个类将视频的显示和控制集于一身,用起来非常的简单和方便。下面就用VideoView实现一个简单的播放器。新建一个PlayVideo项目activity_main.xml中的代码如下:<LinearLayout xmlns:android="http://schemas.android.com/apk/res/androi

2017-07-26 13:49:10 1569

原创 android播放本地音乐程序

在android中播放音乐我们一般使用MediaPlayer类来实现。新建一个PlayAudio项目:activity_main.xml中的代码如下:<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" and

2017-07-26 13:01:05 549

原创 详解在android中使用通知

通知对于我们大家来说应该不会陌生,平常使用手机时就经常能够看到。当某个应用程序希望向用户发出一些信息时,而该应用程序又不在前台运行,这个时候就可以借助通知来实现了。通知的用法并不复杂,创建通知可以在活动里创建,也可以在广播或者是服务里创建,一般来说在广播或服务里来创建通知会比较多,在活动中创建的情况会比较少。因为一般程序在后台的时候才会需要用通知来给用户一些提示信息。不论在哪里创建,通知的创建步骤

2017-07-26 10:40:19 488

原创 编写提供程序数据外部接口的程序

上一篇文章讲了如何去访问其他程序暴露出来的数据,那么这篇文章就来讲一下如何暴露数据给外部程序访问。要暴露数据给外部程序,我们要使用ContentProvider,创建一个类去继承ContentProvider实现一个我们自己的内容提供器,并实现其中的抽象方法。具体实例如下:新建一个SqliteDatabae项目,其中:activity_main.xml中的代码如下:<LinearLayo

2017-07-26 00:07:36 1820

原创 通过内容提供器获取手机联系人信息

在android中应用程序可以通过内容提供器给程序的数据提供外部访问接口,android系统中自带的联系人程序提供了数据的外部访问接口,下面我们就来读取下联系人信息。访问内容提供器提供的数据需要用到ContentResolver类,ContentResolver可以通过Context中的getContentResolver()方法来获得,通过ContentResolver来操作数据与通过SQLit

2017-07-26 00:06:15 1270

原创 Android持久化技术之SQlite数据库存储(二)

本篇文章基于上一篇文章:上一篇文章讲了如何创建和更新SQLite数据库,这篇文章就来讲一下对SQLite数据库的CURD操作吧。android中为我们操作数据提供了一系列的方法,先来看看如何向表中添加数据吧。首先通过getWritableDatabase()方法获得一个SQliteDatabase实例,然后在通过ContentValues组装数据,最后通过SQLiteDatabase实例的in

2017-07-26 00:02:45 518

原创 Android持久化技术之SQLite数据库存储(一)

SQLite数据库是android系统中内置的一款轻量级关系数据库,它的运行速度快,占用的系统资源少。支持标准的SQL语法,还遵循了数据库的ACID事务。前两篇文章说到了文件存储和SharedPreferences存储,它们用来存储简单的数据还是很方便的,但当要存储的数据变的很复杂时,用文件存储和SharedPreferences就很麻烦了,这个时候,我们就要用到SQLite数据库了。

2017-07-26 00:00:26 705

原创 Android持久化技术之SharedPreferences存储

上一篇文章讲了文件存储,这篇文章准备讲一下SharedPreference存储。SharedPreference是通过键值对的方式存储数据的,使用SharedPreference来存储数据很简单,首先通过Context类中的getSharedPreferences()方法获取SharedPreferences对象,然后在通过SharedPreferences.edit()得到SharedPrefe

2017-07-25 10:50:19 528

原创 Android持久化技术之文件存储

Android系统主要提供了3中方式用于简单地实现数据持久化的功能,其中包括文件存储,SharedPreference存储以及数据库存储。这里来看下如何通过文件存储的方式来持久化数据。            首先来看看数据是如何存储到文件中的,将文件存储到文件中主要是通过Context类中的openFileOutput()方法,然后在结合java的流操作将数据存储到指定的文件中的。下面来个案例

2017-07-25 09:46:13 603

原创 PAT a1127题解

#include #include #include using namespace std; const int maxn = 35; int in[maxn], post[maxn]; struct Node { int data; int depth; Node*l, *r; Node():l(NULL),r(NUL

2017-07-25 00:13:06 314

原创 PAT a1126题解

#include #include #include using namespace std; const int maxn = 510; int N, M; vector Adj[maxn]; bool vis[maxn] = { false }; int degree[maxn] = { 0 }; int odds = 0, evens = 0; voi

2017-07-25 00:12:14 375

原创 PAT a1125题解

#include #include #include #include using namespace std; int main() { int N; scanf("%d", &N); vector v(N,0); for (int i = 0; i < N; i++) { scanf(

2017-07-25 00:11:26 655

原创 PAT a1124题解

#include #include #include #include using namespace std; int M, N, S; map msb; vector vs; int main() { scanf("%d%d%d", &M, &N, &S); vs.push_back(" "); string s;

2017-07-25 00:10:47 419

原创 PAT a1107题解

#include #include using namespace std;const int N = 1010;int father[N];int isRoot[N] = {0};int course[N] = {0};int findFather(int x){ int a = x; while(x != father[x]){ x = father[x]; }

2017-07-25 00:09:56 829

原创 PAT a1106题解

#include #include #include using namespace std;const int maxn = 100010;vector Node[maxn];const double INF = 1e12;int n, num = 0;double p, r, ans = INF;void DFS(int index, int depth){ if(N

2017-07-25 00:09:09 556

原创 PAT a1104题解

#include int main(){ int n; double v, ans = 0; scanf("%d", &n); for(int i = 1; i <= n; i++){ scanf("%lf", &v); ans += v * i * (n + 1 -i); } printf("%.2f\n", ans); return 0;}

2017-07-25 00:08:29 643

原创 PAT a1103题解

#include #include #include using namespace std;int n, k, p, maxFacSum = -1;vector fac, ans, temp;int power(int x){ int ans = 1; for(int i = 0; i < p; i++){ ans *= x; } return ans;} v

2017-07-25 00:07:37 1039

原创 PAT a1102题解

#include #include #include using namespace std;const int maxn = 110;struct node{ int lchild, rchild;}Node[maxn];bool notRoot[maxn] = {false};int n, num = 0; void print(int id){ printf(

2017-07-24 00:09:45 397

原创 PAT a1101题解

#include #include using namespace std;const int MAXN = 100010;const int INF = 0x3fffffff;int a[MAXN], leftMax[MAXN], rightMin[MAXN];int ans[MAXN], num = 0;int main(){ int n; scanf("%d", &n

2017-07-24 00:08:53 443

原创 PAT a1100题解

#include #include #include #include using namespace std;string unitDigit[13] = {"tret", "jan", "feb", "mar", "apr", "may", "jun", "jly", "aug", "sep", "oct", "nov", "dec"};string tenDigit[13]

2017-07-24 00:08:08 322

原创 PAT a1099题解

#include #include #include using namespace std;const int maxn = 110;struct node{ int data; int lchild, rchild;}Node[maxn];int n, in[maxn], num = 0;void inOrder(int root){ if(root == -1){

2017-07-24 00:07:24 240

原创 PAT a1098题解

#include #include using namespace std;const int N = 111;int origin[N], tempOri[N], changed[N];int n;bool isSame(int A[], int B[]){ for(int i = 1; i <= n; i++){ if(A[i] != B[i]) return fals

2017-07-24 00:06:35 531

原创 PAT a1097题解

#include #include #include using namespace std;const int maxn = 100005;const int TABLE = 1000010;struct Node{ int address, data, next; int order;}node[maxn];bool isExist[TABLE] = {false}

2017-07-24 00:05:56 510

A brief Survey of Deep Reinforcement Learning.pdf

非常好的一篇深度强化学习综述文章。

2020-03-29

A review on deep learning for recommender systems_challenges and remedies.pdf

深度学习应用在推荐系统的综述,很nice。深度学习应用在推荐系统的综述,很nice。深度学习应用在推荐系统的综述,很nice。

2020-03-29

30天自制操作系统-随书光盘

30天自制操作系统随书光盘

2016-06-23

30天自制操作系统源码

自制操作系统

2016-06-23

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除