自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(78)
  • 收藏
  • 关注

原创 freetype 输出一个一个字符

Freetype : 基本知识配置:添加头文件#include <ft2build.h>#include FT_FREETYPE_H以及配置库: 这里我用mac 版的,直接用 brew install  freetype, 然后将库添加到工程上去以下在控制台上输出一个字符为例子: 问题: 1.face是正常的,但是无法输出字体: 原因ttf 可能不一样,可以用keyboard.ttf ...

2018-07-08 17:59:47 881

原创 机器学习-对逻辑回归的理解以及相关代码

本文主要代码来源于《python 机器学习算法》由于本人觉得在这上面写公式太麻烦了就用纸质的了```# coding:UTF-8'''Date:20160901@author: zhaozhiyong'''import numpy as np#将data 数据转化为 feature 2维矩阵 和 label 矩阵def load_data(file_name): '''导...

2018-05-17 23:45:23 225

原创 peizhi

2018-03-26 20:20:26 157

原创 caffe-ubuntu-cpu环境的配置

cpu环境配置比较简单,这里配置的内容 cpu网页配置 cpu配置2 主要是一些错误: 首先参考一下这里的错误集锦 错误集锦 这里说一下自己遇到的坑: 1.leveldb 库修改了,我是直接用版本撤回,然后再编译的 2.hdf5的路径找不到了,找到makefile.config。修改对应库的路径和include的对应路径 解决:主要是这些问题啦。...

2018-03-24 16:06:47 164

原创 Trie 树

Trie 树主要是Insert 和search题目: hoj 前缀查询: 直接上对应的代码吧:class TriNode{public: TriNode(); ~TriNode();public: int Count; TriNode *next[26]; bool exist;};TriNode::TriNode(){ Count = 0

2018-02-01 18:27:36 181

原创 musical.ly 实习小结3

问题一: 回答问题的时候一定要避免”这个,那个” 解决方式: (&nbsp) 问题的根源在于自己把某些东西理解,而他人不理解,解决办法,说明具体的问题,是哪个。 同理类似的这边,那边,用左边,右边来回答。问题二: 问问题的方式: 《程序员的修炼之道》 上面讲的挺好的,这里直接复制过来了what do you want them to learn?what is their interest in

2018-01-21 10:54:07 225

原创 编程之美- 4.3 买票找0

题意:n 个人 有50 元, n 个人有100元, 一张票要50 元 , 要求售票员不用自己的钱找钱卖出2n 张票的方式: 问有多少钟排列方式算法: 类似 括号匹配问题,用一个栈就可以解决。 现在问的是有多少种方法。1.推导,这里直接见编程之美, 最后得出来的卡特兰数 数学公式为 x=1n+1x=\frac{1}{n+1} * Cn2nC^{n}_{2n}2.这里还是见编程之美: Cn2nC^

2018-01-15 22:45:02 273

原创 muscial.ly-实习小结2

musical.ly 实习: git 分支问题: 保留当前的版本: 可以在本地不断的创建分支,在已有的基础上就可以新的版本,同时又可以保留以前的版本。尽量不要用git reset, 当用这个,就要思考有问题,以及会出现部分问题, 比如info.list回顾一下读书问题: 看了大牛的博客: 读书中用脑,心读,去和已有的知识的体系结构不断碰撞

2017-12-13 11:00:15 270

原创 musical.ly 实习小结一

在muse实习了将近一个月,这里玩的还是挺开心的。感谢小组里面的人(逃)fscanf 中的问题: fscanf居然可以模式匹配,忘记c语言还有这么强的函数,可以匹配(,[ ,逗号) fscanf 中添加括号( , 只能匹配第一个,后面匹配错误,比如: while(scanf(“(%d,%d)”,&a,&b)==2){} 加了括号后就不能循环, 原因是, 后面的空格或\n无法与前面

2017-12-08 12:26:14 279

原创 树状数组

树状数组这篇文章写的挺好的,让我终于理解了树状数组的作用: 树状数组 树状数组几个模板代码:1.lowbitint lowbit(int x){ return x & (-x);}/*求前i位的和*/int getSum(int i){ int s = 0; while(i > 0) { s += C[i];

2017-10-17 22:36:42 175

转载 leetcode 132模式

这篇文章讲的挺好的132 模式题解

2017-10-13 12:01:16 458

原创 leetcode dp题目:

2 Keys Keyboard: Initially on a notepad only one character ‘A’ is present. You can perform two operations on this notepad for each step:Copy All: You can copy all the characters present on the notepa

2017-10-03 23:28:49 263

原创 leetcode

旋转字符串: Reverse Words in a String: 算法: 先是整体旋转,啊然后是旋转个体。 “the sky is blue”, “blue is sky the”. 细节部分 1. 对于空格怎么处理,然后就是 像这样的字符串处理“1 ”; 用一个Count计数,当count >= 1 , 判断后面是否有汉子,有的 + ‘ ’; 否则直接退出代码:

2017-10-02 21:26:09 151

原创 String 类的实现

//String 类的实现#include <iostream>#include <stdio.h>#include <cstring>using namespace std;class String{public: String(const char *str = NULL); //通用构造函数 String(const String &str); //拷贝构造函数

2017-09-25 13:52:35 194

原创 面试小结

跟百度面试官面了一面,感觉自己gg 终于知道大佬是怎么强的了。完全被吊打的节奏啊。 1.对知识掌握的不是很熟悉,以后自己加油吧。哥哥

2017-09-24 22:58:07 176

原创 设计模式:

这里对设计模式做一下总结吧: 设计模式一共有二十三种, 书主要是参考《图解设计模式》 1.Iterator模式 不使用具体的类来编程,优先使用抽象类来编程。 主要让遍历和实现分离实现开来2.Adapter 模式 使用继承或使用委托来实现 : 现有的类配对应的API3.Template Method模式 只设置对应的接口(抽象类)。 让子类去实现对应的模板方法4.Factory

2017-09-23 17:37:40 131

原创 计算机网络:

本章是为了应付面试,顺便复习一下计算机网络,可能copy 网上大佬博客之类的,如有侵权,实属巧合 a.TCP 与UDP 区别 1.基于连接与无连接; 2.对系统资源的要求(TCP较多,UDP少); 3.UDP程序结构较简单; 4.流模式与数据报模式 ; 5.TCP保证数据正确性,UDP可能丢包,TCP保证数据顺序,UDP不保证。b.TCP 提供可靠

2017-09-10 08:33:43 166

原创 优先队列

之前一直想了解优先队列 以后会有相关补充/*这篇是c++ 标准库上 关于 priority_queue 内容*/namespace std{ template< typename T, typename Container = vector<T>, typename Compare = less<typename Container::value_type>> class priority

2017-08-30 20:38:35 158

原创 并查集 - 便于查找

基本模板:/*UF 模板*/class UF{public: /*初始化*/ void UF(int n) { id.reset(n); for(int i=0; i < n; i++) { id[i] = i; } }; /*连接*/ boolean conn

2017-08-30 20:26:58 186

原创 c++ stl 分析

这个是讲配置器#pragma once/*这个是看候捷stl 源码解析 的配置器,以下为对应代码*/#ifndef _JJALLOC_#define _JJALLOC_#include <new>#include <cstddef>#include <cstdlib>#include <climits>#include <iostream>namespace JJ{ temp

2017-08-29 23:03:22 217

原创 git学习:

回顾一下git知识点: 本文主要是参照: 廖雪峰 git log 显示提交日志 git log –pretty=oneline ; 一份日志 git reset –hard HEAD^ 版本回退工作区 和 暂存区(.git 部分)git checkout – readme.txt(readme.txt)是工作区的文本文件; 作用: 丢弃工作区的修改.git checkout file;

2017-08-16 11:54:50 181

转载 欢迎使用CSDN-markdown编辑器

欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl

2017-08-16 10:03:38 165

转载 c++ 根据当前的时间转化为一串数字

如何用c++利用系统时间生成由数学组成的字符串,譬如现在系统时间是2014年12月30号09点30分,就生成一个201412300930的字符串代码来自于知乎:https://www.zhihu.com/question/27313814 iyomumx 的回答: 本代码仅供学习用:#include <chrono>#include <ctime>#include <iomanip>#in

2017-06-08 17:20:50 2260

原创 插入排序和归并排序

#include <iostream>#include <vector>using namespace std;//插入排序insertionSort(vector<int> &A){ int n = A.size(); for(int j=1; j < n ; j++) { int key = A[j]; //insert A[j]

2017-05-29 17:12:57 286

原创 二分匹配

二分匹配: 参考《算法的乐趣》 Gale-Shapley 算法原理:/*算法:M:男生状态, W女生状态初始化所有的m 属于 M , w 属于W, m,w处于自由状态;while(存在m是自由的,并且他还没对每个女人都求过婚){ 选择这样的一个男人m; w = m 的优先选择表中还没有求过婚的排名最高的女人; if(w 是自由状态) { 将(m

2017-05-01 11:03:01 231

原创 图的割点,割边

割点:算法:先深度优先遍历u点,然后判断不经过u点的情况下是否还能回到之前访问的任意一点。 再对v点进行一次深度优先遍历,看能不能回到祖先,能回到祖先,u不是割点,否则是割点。“`

2017-03-20 18:20:45 510

原创 八皇后问题:

思路:转自:八皇后 显然,每一行可以而且必须放一个皇后,所以n皇后问题的解可以用一个n元向量X=(x1,x2,…..xn)表示,其中,1≤ i≤ n且1≤ xi≤ n,即第n个皇后放在第i行第xi列上。由于两个皇后不能放在同一列上,所以,解向量X必须满足的约束条件为:xi≠ xj;若两个皇后的摆放位置分别是(i,xi)和(j,xj),在棋盘上斜率为-1的斜线上,满足条件i-j=xi-xj;在棋盘

2017-03-14 21:01:49 296

原创 转换算法(中文数字转阿拉伯数字)

题解: 1.权位:如一千二百三十 1的权位是千,节以万为节规则1:以10000为小节,小节的结尾即使是0,不使用0, 规则2:小节内两个非0的数之间使用0 规则3:当小节的千位事0,若小节的前一小节若无其他数字,则不用0,否则就要用0;代码:#include <iostream>#include <cstdio>#include <cstring>using namespace std;c

2017-03-09 09:52:56 1225

原创 最小编辑距离

今天在回顾一下动态规划问题: 动态规划分成四步: 1.定义最优子问题: 2。定义状态 3.定义决策和状态转换方程 4.确定边界条件:已编辑距离为例: 1。source[1..n]的字符转换为target[1…m]最小编辑次数,子问题:source[1..i],target[1..j]的最小编辑次数。 2,3状态方程 d[i][j] = d[i-1][j-1] //source[i-1

2017-03-05 22:25:33 334

原创 图的最小生成树

先介绍prim算法: 算法: 1,从任意一个顶点开始构造树,假设从1号点,首先将顶点1加入生成树,用一个以为数组book来标记哪些顶点加入了生成树 2.用数组dis记录生成树到各个顶点的距离,最初生成树只有1号顶点,有直连边时,数组dis存储就是1号顶点到该边的权值,没有直连边事

2017-03-02 20:51:14 292

原创 并查集

最近才知道并查集是分类用,以前太naive了,现在也很naive。并查集本质是维护一个森林,刚开使的时候,森林每个点是孤立的,也可以理解每个点是一个树,通过一个条件,将这些树合并成一个大树。并查集的主要两个是Union 和 find。 可以查看一下联通树的节点。代码:这里不是特别详细,以后会补充的#include #include using namespace std

2017-03-02 20:46:05 276

原创 建堆和堆排序

从小到大建立最大堆,不建立最小堆下面代码很清晰,是啊哈c中的代码,注释很好。 这里涉及建堆,向下压,堆排序。good code。 #include <iostream>#include <cstdio>using namespace std;int n,h[101];void swap(int x,int y){ int temp; temp = h[x]; h[x]=

2017-03-02 20:30:10 289

原创 Bellman-Ford -解决负权边

Dijkstra 算法终于理解,但是不能有负权边,让我们看看BellmanFord 核心代码:for(k=1;k<=n-1;k++) for(i=1;i<=m;i++) if(dis[v[i]] > dis[u[i]] + w[i]) dis[v[i]] = dis[u[i]] + w[i];上面的代码中,外循环一共循环乐n-1次,内循环循环了m次,。 第i

2017-03-02 20:06:21 273

原创 Dijkstra 算法-通过边实现松弛

一个点(源点) 到其余哥哥顶点的最短路径:单元最短路径。算法步骤如下: 1。将所有的顶点分为两部分:已知最短路程的顶点集合p和未知最短路径的集合顶点集合Q。最开始,已知最短路径的顶点集合p只有源点一个顶点,我们这里可以用一个book数组来记录哪些顶点在集合p中哪些顶点在集合Q中。book[i]=1,表示在p中,=0在Q中 2.设置源点S到自己的最短路径为0,级dis[s] = 0.若存在有源电能直

2017-03-02 19:40:12 381

原创 最短路径(Floyd-warshall)

求图中任意两点的最小距离: Floyd关键代码//关键算法for(int k=1;k<=n;k++) for(int i=1;i<=n;i++) for(int j=1;i<=n;i++) { if(e[i][j] > e[i][k]+e[k][j]) e[i][j] = e[i]

2017-03-02 19:03:15 318

原创 深度优先遍历,广度优先遍历

深度优先遍历思想:以一个未访问的节点为起始顶点,沿当前顶点的边走到位访问的顶点;当没有未访问的节点时回溯到上一个顶点,继续试探别的顶点。广度搜索: 一般建立一个队列。当所有边的权值相同的情况下,广度搜索的时间更快。

2017-03-02 18:53:43 360

原创 广度优先遍历

还是上面那道题: 深度遍历一般是用递归,深度不断增加,广度搜索一般用队列这样的形式存储东西;#include <iostream>#include <cstdio>using namespace std;struct note{ int x; int y; int f; int s};int main(){ struct note que[2501]

2017-03-02 18:31:23 394

原创 深度遍历

就以迷宫为例吧。代码如下://深度搜索:解救小哈#include <iostream>#include <cstdio>using namespace std;int a[51][51],book[51][51];int n,m,p,q,min = 99999999;//整个dfsvoid dfs(int x,int y,int step){ int next[4][2] = {

2017-03-02 18:04:02 277

原创 快速排序

快速排序: 首先找一个基准数: (参照的数,一般是第一个); 例如:6 1 2 7 9 3 4 5 10 8 算法过程:先从右往左找一个小于 6 的书,然后交换他们,可以用变量i,j分别指向序列的最左最又。修改过程回去看一下算法导论吧 代码如下:int Partition(int l,int r,vector<int> &a){ int temp = a[l]; int i=

2017-03-02 16:52:05 190

原创 桶排序

看完啊哈算法:这时候应该总结一波,感谢兵哥 桶排序:代码如下:#include <stdio.h>int main(){ int book[1001];//桶的个数 int i,j,t,n; for(i=0;i<=1000;i++) book[i] = 0; scanf("%d",&n);//输入n个数 for(i=1;i<=n;i++)

2017-03-02 16:24:25 226

空空如也

空空如也

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

TA关注的人

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