自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

JANESTAR的专栏

学无止境

  • 博客(99)
  • 资源 (12)
  • 收藏
  • 关注

原创 程序跳转到 mainret = main(argc, argv, envp); 抛出异常Unhandled exception

在项目中遇到这种异常:程序跳转到 mainret = main(argc, argv, envp); 抛出异常,violation access。并且程序有时候正常有时候崩溃。这种错误经常需要花费很长时间去找这个错误。总结一下我遇到这种错误时的思路:1,访问异常,一般很有可能是指针访问异常。考虑指针有没有初始化,在类的构造函数里面有没有初始化成员指针。因为如果不初始化指针,指针的值是不确定

2016-10-09 16:49:14 4098 1

原创 CMake配置OpenCV 时静态链接与动态链接的选择

方法:添加OpenCV_STATIC 选项,设置为不勾选,在cmake配置的时候就会选择动态库否则,cmake 配置的时候会设置为静态库

2016-10-03 21:12:59 2470

转载 值为NULL的对象指针

值为NULL的对象指针  相信大家对NULL不会很陌生,NULL 是一个标准规定的宏定义,用来表示空指针常量,当一个指针变量被赋值为NULL时,表示它不再指向任何有效地址,无法在访问任何数据。在VS2012库文件stdio.h中有如下定义:1 #ifdef __cplusplus2 #define NULL 03 #else4 #define NULL ((v

2016-09-19 21:28:51 1065 2

原创 面试题之输入n求和为m的所有组合

背包问题。问题:输入两个整数 n 和 m,从数列1,2,3.......n 中 随意取几个数,使其和等于 m ,要求将其中所有的可能组合列出来.分析:由该题可知是典型的背包问题,根据该数是否加入进行递归运算。解法:采用0-1背包的思想,使用递归方法:  当选择n时,就用剩下的n-1填满 m-n;  当不选择n是,就用剩下的n-1填满m;    注意的是,

2016-09-18 10:52:54 4495 4

原创 Leetcode-Serialize and Deserialize Binary Tree

解题思路:利用先序遍历递归遍历二叉树,对于空节点也将其作为一个节点看待,这样序列化的二叉树可以看成是一个完全二叉树。反序列化的时候,递归解析字符串,根据 根节点--左子树--右子树的规则构造二叉树。/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeN

2016-09-01 16:13:50 776

原创 375. Guess Number Higher or Lower II

We are playing the Guess Game. The game is as follows:I pick a number from 1 to n. You have to guess which number I picked.Every time you guess wrong, I'll tell you whether the number I pi

2016-08-30 10:09:54 913

原创 Count Numbers with Unique Digits

解题思路一:找规律,动态规划。f(n):长度为n的数字中包含的独立数位的数字个数。f(1) = 10 (0,1,2,3,4,...9)f(2)=9*9  ,因为十位只能是(1,2,...9),对于十位的每个数,个位只能取其余的9个数字。f(3)=f(2)*8=9*9*8f(10)=9*9*8*7...*1f(11)=0=f(12)=f(13)....class So

2016-08-17 11:16:12 708

原创 Next Permutation

原理简介:1,从数组尾端开始遍历,找到第一个nums[i]2,要求下一个子序列,那么我们需要在1中得到的单调子数组中找到一个比nums[i]大的数字,并且要尽量小。这样才能保证是下一个子序列。由于子数组是单调递减的,那么我们从数组尾端开始找到第一个比nums[i]大的,那么这个数字就是满足我们要求的数字。将其与nums[i]交换3,交换之后,大于i组成的子数组仍然是递减的。所以我们只需

2016-08-16 17:36:49 721

原创 283. Move Zeroes

简单题:解题思路:1,插入排序(O(n))class Solution {public: void moveZeroes(vector& nums) { int size = nums.size(); int index=0; for(int i=0;i<size;i++) { if(nums[i]!=0) nums[index++]=n

2016-08-10 16:51:17 599

原创 142. Linked List Cycle II

解法一:如果链表中环 有n个结点,指针P1在链表上向前移动n步,然后两个指针以相同的速度向前移动。 当第二个指针指向环的入口结点时,第一个指针已经围绕着环走了一圈又回到了入口结点。所以首先要得到环中结点的数目。/** * Definition for singly-linked list. * struct ListNode { * int val; *

2016-08-10 16:00:13 871

原创 377. Combination Sum IV

解题思路:该题对时间有要求,我们使用之前用过的回溯法将会超时。因为回溯法遍历所有种可能,类似于穷举,时间效率肯定不高。换个思路,我们采用动态规划的思想来看看。动态规划状态方程:dp[target]=sum(dp[target-nums[i]]) (for i=0..num.size()-1)dp[target] 代表一共有多少种可能。那么从target-nums[i] 变为

2016-08-09 15:47:10 1159

原创 282. Expression Add Operators

解题思路:深搜遍历所有可能的情况,终止条件为表达式计算的结果等于target。注意,这里要使用long 类型保存整数,否则会溢出。我在vs2013,win32模式下使用long同样不能通过"3456237490", 9191 -> []这个案例,改用long long 才可以。具体解析可以参考文末的这篇文章,讲的很好,主要要注意乘法情况下如何计算表达式的值。class

2016-08-08 19:08:53 702

原创 QT 4.7.2的一个bug:QGLWidget::grabFrameBuffer() ignores withAlpha parameter

参考https://bugreports.qt.io/browse/QTBUG-7545Bugs 报告:QGLWidget::grabFrameBuffer() ignores withAlpha parameter在我的项目中用到了老版本的QT,也是为了维护老版本,没有改成最新版的QT,结果我在对项目进行添加功能时需要使用一个截屏的功能,将在QT中显示的模型保存成图片,但

2016-08-07 17:06:40 1672

原创 二叉树中和为某一值的路径

二叉树中和为某一值的路径参与人数:4182时间限制:1秒空间限制:32768K 算法知识视频讲解题目描述输入一颗二叉树和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。解题思路:二叉树的先序遍历/*struct TreeNode { int val; s

2016-07-26 10:26:27 569

转载 风格之争:Coroutine模型 vs 非阻塞/异步IO(callback)

原帖地址: http://www.kuqin.com/system-analysis/20110910/264592.html我们在设计一个服务器的软件架构的时候,通常会考虑几种架构:多进程,多线程,非阻塞/异步IO(callback) 以及Coroutine模型。多进程这种模型在linux下面的服务程序广泛采用,比如大名鼎鼎的apache。主进程负责监

2016-07-25 09:21:03 923

原创 71. Simplify Path

思路:利用vector模拟栈技巧:利用getline实现字符串切分解法1:leetcode上别人的代码string simplifyPath(string path) { string res, tmp; vector stk; stringstream ss(path); while(getline(ss,tmp,'/')) {

2016-07-22 09:10:06 398

原创 Recover Binary Search Tree

解题思路:中序遍历。BST中存在一对被交换的元素,那么可以肯定,较大节点被交换到较小的那颗子树,较小节点被交换到较大的那颗子树了。那么会存在前一个节点大于当前节点的情况,第一次找到的这种情况,那么前一个节点就是第一个我们要找的节点。后面再出现这种情况的话,那么当前结点就是我们要找的第二个节点。最后再交互二个节点的值就好了。递归/** * Definition for a binary t

2016-07-15 13:11:25 487

原创 关于Validate Binary Search Tree的总结

关于Validate Binary Search Tree的总结1,BST的定义:1) 左子树的所有值都比根节点小;2) 右子树的所有值都比根节点大;3) 左右子树也必须满足上面两个条件。需要注意的是,左子树的所有节点都要比根节点小,而非只是其左孩子比其小,右子树同样。根据BST定义来写递归程序。因为需要每个节点为根节点分别遍历其左右子树。假设一共有

2016-07-15 10:39:53 529

原创 44. Wildcard Matching

Implement wildcard pattern matching with support for '?' and '*'.'?' Matches any single character.'*' Matches any sequence of characters (including the empty sequence).The matching should cover

2016-07-14 13:12:42 372

原创 数据流中的中位数

数据流中的中位数参与人数:1245时间限制:1秒空间限制:32768K 算法知识视频讲解题目描述如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值。如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数的平均值。解题思路:维护一个大堆和一个小堆,大堆表示序列前一半数,小堆表示序列后一半

2016-06-27 14:40:16 859

原创 166. Fraction to Recurring Decimal

今天华为出了这么一道面试题,当时我一紧张,没写出来。。。关键是记录循环小数,采用map结构。注意leetcode上这道题要防止溢出。将int 转换为long。一般来说int为4个字节,如果long也为4个字节的话,这样转换还是不成功的,由此我推断leetcode系统的编译器应该是64位的,这样long是8个字节,这样就避免了溢出。class Solution {public:

2016-06-24 14:29:25 406

原创 328. Odd Even Linked List

解题思路:画图分析/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public: L

2016-06-21 16:53:00 343

原创 Swap Nodes in Pairs

解题思路:在纸上画图理解/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public: L

2016-06-21 16:10:15 342

原创 Kth Smallest Element in a BST

解题思路:中序遍历,计数统计第K个值/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NUL

2016-06-19 15:25:26 415

原创 Copy List with Random Pointer

解题思路:使用map存储原来链表和新链表的节点之间的映射关系。/** * Definition for singly-linked list with a random pointer. * struct RandomListNode { * int label; * RandomListNode *next, *random; * RandomLis

2016-06-18 21:24:11 452

原创 Divide Two Integers

解题思路:使用位操作class Solution {public: int divide(int dividend, int divisor) { if(divisor == 1) return dividend; if(dividend == INT_MIN && abs(divisor) == 1) retur

2016-06-18 16:02:51 371

原创 Combination Sum II

解题思路:回溯法如何避免重复。如果两个数相同,我们先用前一个数,只有当前一个数用了,这个数才能使用。例如:1 1。当我们要使用第二个1时,我们要检查他的前面一个1是否使用了,当未被使用时第二个1就不能使用。class Solution {public: void compute_sum(vector>& result,vector flag,vector

2016-06-16 22:41:25 347

原创 Combination Sum

解题思路:回溯法class Solution {public: void do_sum(vector>& result, int cur,int level, int target, vector& candidates, vector& tmp){ if (cur == target) { result.push_back(tmp); return; } if

2016-06-16 21:12:07 340

原创 Permutations II

class Solution {public: vector> result; void search(vector& nums,vector flag,vector& vec){ if(vec.size()==nums.size()) { result.push_back(vec);

2016-06-16 17:06:30 451

原创 N-Queens II

N 皇后问题。典型的回溯解法。通过维持一个全局数组来记录当前尝试的皇后所在的列和两个对角线是否已经存在其他皇后。注意主对角线标识y-x可能为负,存取时需要加上n.我们可以通过坐标(x,y)的值来表示对角线。x+y的值标识副对角线,y-x的值标识主对角线。class Solution {public: void search(int cur,int n,vector>&

2016-06-15 20:49:47 403

原创 堆排序总结

在面试中遇到要你手写堆排序,可以先询问是否可以使用STL中建堆的算法,问清楚面试官的意图之后方可动手写代码,交流最重要。heap并不属于STL组件,是一个幕后英雄,STL实现了最大堆,并用来作为priority queue的底层机制。stl中的堆默认是最大堆,要想用最小堆的话,必须要在push_heap,pop_heap,make_heap等每一个函数后面加第三个参数greater(),括

2016-06-14 20:14:00 1133

原创 最长连续递增子序列

解题思路: 遍历一遍,保存一个全局的最大长度,复杂度为O(n)#include#include using namespace std;int longest_subarray(vector data){ int current = 1; int size = data.size(); int res = 1; for (int i = 1; i < size; i++) {

2016-06-14 09:45:38 2057 1

原创 链表中倒数第K个节点

解决思路:遍历一遍,获取链表长度,然后再遍历一遍,找到第len-k个节点即为倒数第K个节点/*struct ListNode { int val; struct ListNode *next; ListNode(int x) : val(x), next(NULL) { }};*/class Solution

2016-06-12 12:57:12 603

原创 找出字符串

有一个排过序的字符串数组,但是其中有插入了一些空字符串,请设计一个算法,找出给定字符串的位置。算法的查找部分的复杂度应该为log级别。给定一个string数组str,同时给定数组大小n和需要查找的string x,请返回该串的位置(位置从零开始)。测试样例:["a","b","","c","","d"],6,"c"返回:3解题思路:二分法。如果mid为空字符串,

2016-06-08 13:36:59 763

原创 extern "C" 实现C++ 与 C的混合编程

extern "C" 包含双重含义,从字面上即可得到:首先,被它修饰的目标是“extern”的;其次,被它修饰的目标是“C”的。  1,被extern "C"限定的函数或变量是extern类型的:这说明该变量的范围是全局的,不局限于本源文件,可以被其他模块引用。注意与static 进行对比,static 修饰变量或者函数使得该变量或者函数的范围局限在该源文件。         2,被ext

2016-06-05 13:53:05 520

原创 Different Ways to Add Parentheses

解题思路:分治法,使用Map 避免重复计算class Solution {public: map> mp; //使用map避免递归过程中重复计算 vector diffWaysToCompute(string input) { if(mp.find(input)!=mp.end()) return mp[input]; i

2016-05-29 12:47:38 494

原创 215. Kth Largest Element in an Array

题意,求数组中的第K大的数。思路1:利用快速排序的思路,找到一个下标为n-K的下标index,前面从下标0至n-K-1的数均小于index,该下标的值即为第K大的数字思路2:利用堆或者红黑树来解答。维护一个容量为K的容器,建立一个小根堆,遍历数组一遍,如果遍历的元素的值比堆顶元素值要大,则移除堆顶的元素,插入遍历的元素。最后得到的堆顶元素即为所求的第K大的元素。 由于multiset是基于

2016-05-28 21:20:46 529

原创 代码复用学习实例

本例子为一道面试题的归纳总结,题意为调整数组顺序是的奇数位于偶数前面。这是一类问题,我们在写代码的时候,要考虑扩展性,如果将题意改为将数组中能被3整除的数调整到不能被3整除的数后面,比如将数组中正整数调整到负数后面之类的一系列问题都可以用一个模式解决,而不用重新写很多重复代码。如下为3种代码写法,第一种为原始写法,不考虑扩展性。第二种为函数指针写法,第三种使用了函数对象的写法。/*

2016-05-15 15:35:04 1317

转载 tomcat结合nginx使用小结

转自http://cxshun.iteye.com/blog/1535188       相信很多人都听过nginx,这个小巧的东西慢慢地在吞食apache和IIS的份额。那究竟它有什么作用呢?可能很多人未必了解。说到反向代理,可能很多人都听说,但具体什么是反向代理,很多人估计就不清楚了。摘一段百度百科上的描述:Html代码  反向代理(Reverse 

2016-05-14 00:30:40 549

原创 Nginx学习笔记一环境配置

开发环境:ubuntu 14.04  gcc在nginx官网下载最新版本源码包,解压到某个文件夹下。执行如下命令:./configure --prefix=/usr/local/nginx(指定安装部署后的根目录)make  sudo make install  nginx即安装成功。进入/usr/local/nginx/sbin目录执行如下命令在浏览器输入

2016-05-13 14:06:27 2167 2

20news-bydate.pkz文件

在使用sklearn进行文本分类时,我们需要引入数据包。

2015-04-09

libExtensions.lib

Cocos2dx 里面的一个libExtensions.lib,添加到Debug.win32目录下即可正常运行

2015-04-02

OPENNI2 Kinect.dll

优化过的OPENNI2,用于实现深度图和彩色图对齐.具体可参考blog http://blog.csdn.net/janestar/article/details/38824375 相关内容

2014-08-25

UDP 实验代码

UDP实验代码 湖南大学软件学院网络课实验代码 喜欢的可以下载用用

2013-05-28

TCP JAVA HNU

TCP 代码 喜欢的 欢迎学妹们下载 学长倾情奉献

2013-05-28

Strategy 模式 JAVA

湖南大学软件学院 设计模式实验课代码JAVA 喜欢的下载哦

2013-05-28

Java Web开发之道 光盘源码2

Java Web开发之道 光盘源码2 很适合WEB初学者下载学习 谢谢

2012-10-25

Java Web开发之道 光盘源代码1

Java Web开发之道 光盘源码 由于比较大 我分开上传了 需要的同学可以下载学习

2012-10-25

教你如何完全理解转义符号

教你如何完全理解转义符号

2012-08-18

用Myeclipse开发JSP教程 包括环境配置 部署tomcat 等等

用Myeclipse开发JSP教程 包括环境配置 部署tomcat 等等 很不错的一份总结 帮助读者少走弯路

2012-08-16

图书管理系统 C++

图书管理系统 txt c++版本 详细介绍了在vc 6.0 下编译的结果

2011-07-16

空空如也

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

TA关注的人

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