自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 小范围排序(C++)

关于算法与数据结构的相关博文:二叉树相关练习题(C++)经典排序算法的C++实现与字符串有关的一些典型问题的C++解法一些可以用动态规划(DP)算法解决的问题(C++)排列组合相关笔试面试题(C++)与概率相关的算法题C++解法(附证明过程)二分查找的巧妙运用(C++)位运算在算法题中的使用(C

2016-06-02 14:29:56 1430

原创 LeetCode经典题目笔记(二)

九、判断链表是否是回文链表解法:O(N)\O(N)的解法。class Solution { public:     ListNode* temp;    bool isPalindrome(ListNode* head) {         temp = head;         return check(head);     }    bool chec

2016-05-23 17:41:36 1694

原创 LeetCode经典题目笔记(一)

一、求字符串的最长无重复字符子串的长度。解法:动态规划。优化方案为:在查找与当前字符相同的字符位置时,可以用一个循环遍历之前的子串,也可以用hash表直接查找,更省时间。class Solution {public:    int lengthOfLongestSubstring(string s) {        int len = s.size(),sta

2016-05-22 16:40:12 2418

原创 KMP算法相关学习资料

KMP算法学习资料和相关文章推荐。

2016-05-17 12:08:00 1678

转载 创建编译运行MapReduce程序(Eclipse+Ubuntu14.04+Hadoop2.7.2)

本文转自:http://www.powerxing.com/hadoop-build-project-using-eclipse/我在学习hadoop的时候,配置Eclipse+Ubuntu14.04+Hadoop2.7.2的时候找了很多教程,但是都没成功,后来看到这篇文章,写得非常非常细致,而且一次就配置成功了。现将原文的截图放在这里,供需要的读者参考。如有侵权,我会立即删除

2016-05-11 19:37:39 2325

原创 学习总结:拷贝构造函数、常量折叠、堆\栈

一、关于拷贝构造函数1、相同类型的类对象是通过拷贝构造函数来完成整个复制过程的;2、拷贝构造函数是一种特殊的构造函数,函数的名称必须和类名称一致,它必须的一个参数是本类型的一个引用变量;3、三种情况下会调用拷贝构造函数:对象以值传递的方式传入函数参数、对象以值传递的方式从函数返回、对象需要通过另外一个对象进行初始化;相关博文:http://blog.csdn.net/lwb

2016-05-09 14:39:56 2145

原创 对C++中mutable、inline、volatile关键字的理解

1、mutable:修饰的变量永远处于可变状态。当一个成员函数的功能不包括改变对象的状态时,将其定义为一个const成员函数,这个函数是不能修改类的成员数据的,这样是为了数据安全,但是有时我们需要在这个函数内修改一些与对象状态无关的成员变量,这时就可以将那些成员变量用mutable声明。相关博文:http://blog.csdn.net/starlee/article/details/1430

2016-04-30 12:53:36 1902

原创 用实例讲解栈和队列(C++)

一、栈和队列1、实现一个新型的栈结构,具有pop、push、top、size和getMin操作。解法:用两个普通栈实现。class Solution {public:    stackint> data,minData;    void push(int value) {        data.push(value);

2016-04-23 11:00:09 2716

原创 一些智力题的C++解法

1、在一个nxm的格子图上涂色,你每次可以选择一个未涂色的格子涂上你开始选定的那种颜色。同时为了美观,我们要求你涂色的格子不能相邻,也就是说,不能有公共边,现在问你,在采取最优策略的情况下,你最多能涂多少个格子?解法:第一个格子要选相邻格子最少的,所以应该选四个角的格子。然后向格子四个角的方向延伸直到四个方向都抵达边界。

2016-04-22 20:47:17 3893 1

原创 链表相关练习题(C++)

一、链表1、在节点值有序的单循环链表中插入指定结点,使插入后的链表依然有序。解法:一下解法只是单链表,不是循环链表。class InsertValue {public:    ListNode* buildLinkedList(vectorint> &A,vectorint> &nextPoint) {        int len = A.size()

2016-04-22 20:45:25 4817

原创 位运算在算法题中的使用(C++)

一、算术运算符和位运算符算术运算符:+、-、*、/、%位运算符:&按位与、|按位或、^按位异或、~按位取反、>右移左侧补符号位、 >>>右移左侧补0注意:移位运算一定要赋值。也就是说将a左移2位不应该是aa = a。二、布隆过滤器http://www.cnblogs.com/haippy/archive/2012/07/13/2590351.htmlhttp://segme

2016-04-20 14:36:57 2597

原创 STL中堆和优先队列的使用方法

一、heap#includemake_heap(首位置, 尾位置+1, 可选的cmp函数); -> 构造堆,将数组堆化push_heap(首位置, 尾位置+1, 可选的cmp函数); -> 添加元素到底层容器末尾,并将堆的作用范围扩展到这个元素,最后调整堆序 pop_heap(首位置, 尾位置+1, 可选的cmp函数);  -> 将堆顶元素与堆尾元素交换,并将堆的作

2016-04-20 14:31:00 2153

转载 常用的时间序列算法模型

本文转自:http://blog.csdn.net/ztf312/时间序列中常用预测技术  一个时间序列是一组对于某一变量连续时间点或连续时段上的观测值。1.  移动平均法 (MA)1.1. 简单移动平均法设有一时间序列y1,y2,..., 则按数据点的顺序逐点推移求出N个数的平均数,即可得到一次移动平均数. 1.2 趋势移动平均法

2016-04-20 10:38:19 5738

原创 二分查找的巧妙运用(C++)

一、二分查找1、查找无序数组中的任意一个局部最小值局部最小值:arr长度为1时,arr[0]是局部最小。arr的长度为N(N>1)时,如果arr[0]解法:二分查找。先查看左右两边是不是局部最小。都不是则局部最小一定在中间,于是查看mid处是不是,若不是则局部最小要么在其左边要么在其右边,判断出在左边还是在右边,继续二分查找即可。class Solution {

2016-04-15 10:57:50 2829

原创 与概率相关的算法题C++解法(附证明过程)

一、常考题型1、客观题(选择题);2、古典概率、期望的计算,不涉及高等概率和微积分;3、利用随机来改进著名的算法(快速排序);4、随机数发生器(根据给定的随机数发生器构造另一个)。二、练习题1、有2k只球队,有k-1个强队,其余都是弱队,随机把它们分成k组比赛,每组两个队,问两强相遇的概率是多大?结果化成最简分数。解法:该题的难点有两点:①总组队方法数的计算。用C(

2016-04-12 14:32:40 5778

原创 排列组合相关笔试面试题(C++)

一、常考点含有相同元素的全排列:例如2个a,3个b,4个c可以组成多少个不同的字符串?9!/2!/3!/4!。n个人的全排列:排成一排为n!,排成一圈且考虑旋转带来的差异也为n!,排成一圈但不考虑旋转差异则为(n-1)!。二、普通排列组合练习题1、X*Y的方格阵中,从左上角走到右下角,每次只能走一格且只能向右走或向下走,有多少种走法解法:向右一定走Y-1步,向下一定走X-1步,

2016-04-12 10:23:24 3021

原创 MathProg语言简介(附带例子)

综述:我们在使用很多数学求解器时,会用到MathProg模型语言。MathProg语言能将一个纯数学语言描述的模型转化为求解器能读懂的格式。例如在使用线性规划求解器GLPK求解一个线性规划问题或者混合整数规划问题时,就需要用到MathProg语言。下面将一一个具体的例子深入浅出地讲解MathProg语言的使用规则。一、数学模型:

2016-04-09 17:58:42 2961

原创 二叉树相关练习题(C++)

一、二叉树1、用递归方法实现二叉树的先序、中序、后序遍历class TreeToSequence {public:          void preOrder(TreeNode* root,vectorint> &pre) {         if (!root)             return;         pr

2016-04-09 16:02:07 4906

原创 一些可以用动态规划(DP)算法解决的问题(C++)

动态规划的本质是利用空间来换取时间。把一个问题分解为相同的子问题,这些子问题的求解是有顺序的,按顺序一步一步求解,前面的步骤和决策使得问题的状态转移到当前状态,当前状态再做出最优的决策,使问题转移到下一个状态,当问题进入最后一个状态时的解就是原问题的解。

2016-03-15 10:27:01 6001

原创 与字符串有关的一些典型问题的C++解法

一、C++中String类的用法总结http://www.cnblogs.com/xFreedom/archive/2011/05/16/2048037.htmlhttp://www.cnblogs.com/gaojun/archive/2010/09/11/1824016.htmlhttp://www.cnblogs.com/ggjucheng/archive/201

2016-02-06 23:50:55 2505

原创 为一个包创建消息(.msg)和服务(.srv)

创建消息:1、cd到包目录、mkdir msg文件夹;2、echo "int64 num" > msg/Num.msg 新建Num.msg文件并向文件中写入自定义的消息类型;3、打开package.xml文件添加编译依赖和运行依赖message_generation message_runtime4、打开CMakeLists.txt文件,在find_package()函

2016-01-13 20:22:52 2649

原创 创建ROS服务端(service)和客户端(client)

服务端和客户端的关系实际上就是请求和响应的关系。我们在定义服务类型的时候实际上只是定义了请求时客户端发送的数据类型及个数,还有服务端响应时返回来的数据类型和个数。对C++语言而言、服务端和客户端同样是.cpp文件编译生成的可执行文件。服务端:1、cd到包目录下,然后在src文件夹下创建.cpp文件;2、.cpp文件包括以下部分:     ①包含(include)依赖库,

2016-01-13 20:21:21 3757

原创 创建ROS消息发布器(publisher)、订阅器(subscriber)

发布器和订阅器都是可执行文件。对C++语言,我们在.cpp文件中创建,并编译生成可执行文件,发布器:1、cd到包目录下,然后在src文件夹下创建.cpp文件;2、.cpp文件包括以下部分:     ①包含(include)依赖库,如ros/ros.h、std_msgs/String.h、sstream等     ②主函数部分:  ros::init(argc,argv,

2016-01-13 20:19:17 2577

原创 经典排序算法的详细分析及C++实现代码

1、冒泡排序  O(n2)每一次把最大的移动到最右端,第一次从0~n-1中找到最大的放到n-1处,第二次从0~n-2中找到最大的放到n-2处……classBubbleSort {public:    int* bubbleSort(int* A, intn) {        inti,j,temp = 0;        for

2016-01-08 17:30:02 3165

空空如也

空空如也

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

TA关注的人

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