编程练习
文章平均质量分 70
hiphopmattshi
这个作者很懒,什么都没留下…
展开
-
lucene使用IKAnalyzer3.2.5中文分词器进行索引的一个小例子
本文通过一个小例子方便大家学习IKAnalyzer3.2.5和lucene的索引功能。以下是需要的准备环境 需要两个jar包。分别是lucene 3.5.0.jar和IKAnalyzer3.2.5两个包代码如下:import java.io.File;import java.io.IOException;import org.apache.lucene.analysis原创 2012-01-29 14:17:32 · 6723 阅读 · 4 评论 -
不是编程天才,参与开源项目的14种方式
如果你想参与到开源项目中去,却又不知道从何入手,这里提供一些参考方法或许能给你提供一些帮助,哪怕你对你目前的技术还缺乏自信都不要紧。开源软件已经改变了IT,甚至整个世界,正是因为有了你们,乐于奉献在开源事业中。不幸的是,很多人把参与到开源项目中想象成一个难以跨越的障碍一样,因此而退缩。我通常听到人们说他们很想参与到开源项目中来,但是因为以下的3个原因而打消了念头。1. 我还不足够优秀2转载 2012-07-30 13:23:04 · 1830 阅读 · 0 评论 -
开源软件FUFS(新浪微盘linux客户端)
FUFS 是一款基于linux c语言版fuse 开发的用户空间文件系统,实现了在linux 中对新浪微盘的基本操作。文件系统实现了对新浪微盘API的封装,当文件系统挂载到用户linux 的某个文件加下,用户只需像普通文件一样操作自己微盘中的目录和文件。 FUFS的实现,通过fuse 来获取用户文件操作的指令,转而通过fufs自行分装的文件操作函数,来实现对新浪微盘里面的文件的操作。 通原创 2012-08-09 22:38:25 · 5084 阅读 · 5 评论 -
标准C++类型转换符
C 风格(C-style)强制转型如下: (T) expression // cast expression to be of type T 函数风格(Function-style)强制转型使用这样的语法: T(expression) // cast expression to be of type T 这两种形式之间没有本质上的不同,它纯粹就是一个把括号放在哪的问题。我把这转载 2012-09-25 14:40:52 · 1124 阅读 · 0 评论 -
fuse_operations Struct Reference
fuse_operations Struct Reference#include Data Fieldsint(*getattr )(const char *, struct stat *)int(*readlink )(const char *, char *, size_t)int(*mknod )原创 2013-03-26 09:47:03 · 2727 阅读 · 0 评论 -
libcurl下载数据不全的问题
今天终于在网上搜到英文答案了curl not downloading full webpageI am trying to run a simple program to start learning curl, but it doesn't get the whole page, merely ~20KB of it :/#include #includ原创 2013-04-01 00:48:05 · 5553 阅读 · 0 评论 -
Two Sum--leetcode
题目的意思就是在一个数组里面找到两个元素,它们的和与给定的期望值一样,返回值为两个元素的位置信息。第一种本能想法O(n2)的算法: vector twoSum(vector& nums, int target) { int i=0; int j=0; int len=nums.size(); vect原创 2016-08-18 09:30:14 · 1179 阅读 · 0 评论 -
两个队列实现一个栈
队列的特点是先进先出,而堆栈则是后进先出。 采用两个队列来模拟堆栈的特性,关键是保证每次弹出的数据为最后添加进队列的。 核心: queue1始终保持后入的元素,queu2始终保存排在queue1之前的元素。 模拟堆栈push, 比较简单,只需要向queue1中压人数据即可,queue1若有元素,则一定是后入的元素。 模拟堆栈的pop:原创 2016-09-03 17:55:28 · 1255 阅读 · 0 评论 -
递归实现链表反转
// ConsoleApplication4.cpp : Defines the entry point for the console application.//#include "stdafx.h"#include "stdio.h"#include "string.h"#include "stdlib.h"typedef struct Node{ int value; s原创 2016-09-03 18:41:37 · 1572 阅读 · 0 评论 -
水桶装水问题
Given n non-negative integers a1, a2, ..., an, where each represents a point at coordinate (i, ai). n vertical lines are drawn such that the two endpoints of line i is at (i, ai) and (i, 0). Fin原创 2016-09-04 21:41:20 · 3401 阅读 · 0 评论 -
最接近给定值的子数组和
Given an array S of n integers, find three integers in S such that the sum is closest to a given number, target. Return the sum of the three integers. You may assume that each input would have exact原创 2016-09-05 15:59:31 · 2180 阅读 · 0 评论 -
[转载]ACM培训计划与我推荐的书籍
ACM培训计划与我推荐的书籍 入门三本:《数据结构与算法》(傅清祥,王晓东编著,我所见过的最好的算法教材)程序设计导引及在线实践 作者: 李文新ACM程序设计培训教程 吴昊基础提高:算法艺术与信息学竞赛 第二版 刘汝佳算法设计与分析 王晓东算法设计与试验题解 王晓东科曼:《算法导论》组合数学 第三版 冯转载 2012-07-30 13:14:07 · 4455 阅读 · 0 评论 -
编译原理文法语言递归实现
今天做了一道题,感觉比较有意思,就是编译原理里面的。刚好也总结回顾一下编译原理方面的知识 文法语言:一共分为四类,0,1,2,3型 文法G为一个四元组,G=(Vn,Vt,P,S),其中Vn,Vt分别为非空有限的非终结符和终结符号集,Vn交Vt为空集P为产生式集,S为文法识别符号或开始符号 1 0型文法 A ->B 其中A为 终结符解和非终结符集原创 2012-06-26 16:52:04 · 2402 阅读 · 0 评论 -
基于Lucene3.5.0如何从TokenStream获得Token
通过学习Lucene3.5.0的doc文档,对不同release版本 lucene版本的API改动做分析。最后找到了有价值的改动信息。LUCENE-2302: Deprecated TermAttribute and replaced by a new CharTermAttribute. The change is backwards compatible, so mixed new/old原创 2012-02-01 17:36:57 · 12776 阅读 · 4 评论 -
基于dyse同学的网络爬虫模型的学习和实现(一)
网络爬虫的原理,简单的来说,就是通过http,socket连接来获得指定URL对应的 网页内容。显然单存的下载网页是不够的,要不爬虫怎么能够持续的获得更多的网页呢~实现网络爬虫肯定需要在已下载的网页中提取其中的超级链接,即该网页的出链。爬虫得到这些超级链接继续进行网页内容的下载,但是这就会遇到一个问题,爬虫可能重复爬取已经爬过的网站。那么这就需要进行URL的分类,一类访问过得队列,一类未访问过得队原创 2012-02-05 23:50:32 · 2368 阅读 · 0 评论 -
2005年百度之星初赛第一题分析与解答
躺在床上的日子里,一直就觉得需要锻炼下编程能力,意外的想到了百度之星,这个偏向算法的编程比赛。我想分析和解答该比赛的历年试题,自己在算法和编程方面应该会有大幅提升。我也就不罗嗦了,开始第一题。第一题(共四题 100 分):连续正整数( 10 分) 题目描述:一个正整数有可能可以被表示为 n(n>=2) 个连续正整数之和,如: 15=1+2+3+4+5 1原创 2012-01-02 17:59:22 · 2576 阅读 · 0 评论 -
基于hash表的文件字符串替换
最近一直在研究百度之星的题目。刚好碰到初赛第三题,查阅了网上各牛人的解题方法,感觉收获颇多,对其中的hash的方法自己也有所理解,因此顺着自己的思路,也完成了基于hash表的该题的解法。与大家一同分享第三题(共四题 100 分):字符串替换( 30 分) 题目描述:请编写程序,根据指定的对应关系,把一个文本中的字符串替换成另外的字符串。 输入数据:程序读入已被命名为 text.txt原创 2012-01-03 18:54:24 · 939 阅读 · 0 评论 -
java中PriorityQueue优先级队列使用方法
优先级队列是不同于先进先出队列的另一种队列。每次从队列中取出的是具有最高优先权的元素。 PriorityQueue是从JDK1.5开始提供的新的数据结构接口。 如果不提供Comparator的话,优先队列中元素默认按自然顺序排列,也就是数字默认是小的在队列头,字符串则按字典序排列。 由于网上的资料大多将优先级队列各个方法属性,很少有实例讲解的,为方便大家以后使用,我就写原创 2012-03-08 21:12:18 · 102547 阅读 · 5 评论 -
VC6编译代码时一种常见错误解决
今天跑程序就实现了一个栈,写了个动态分配空间的代码,代码看来看去,都没发现问题,但是运行过程中却出问题了。 以下是纠正错误前的代码,也许是我不够细心,代码写的不够完善,但是咋看还是看不出啥问题的,大家也来看看。 错误代码如下:#include "stdio.h"#include "stdlib.h"#include "string.h"#define INIT_SIZ原创 2012-06-11 11:59:36 · 996 阅读 · 0 评论 -
斐波那契数列(兔子问题)的变形
描述 斐波那契研究的兔子是每隔两个月开始成熟,现在我们要求的是每隔m个月的情况。输入程序从标准输入读入数据,每行数据由两个整数 m (1=输出针对每一行输入,输出一个结果,每个结果占一行。样例输入2 33 50 0样例输出59这道题写出递推式比较简单F(n)=F(n-1)+F(n-m)但是要想一步算出结果还需要细致看题这道题我原创 2012-06-16 20:04:59 · 3917 阅读 · 0 评论 -
二叉排序树非升序排序数列
看了网上一些关于二叉排序树的题解,一些代码中虽然解决了问题,但是往往忽视了空间的回收,显然这样的代码是不安全的。因此结合这道题目,我也来实现一个二叉排序树,并按降序输出结果题目如下:描述 利用二叉排序树排序,输出非升序排序数列。不考虑空树情况。 输入输入为n+1行。第一行为测试数据的组数n,以下的n行分别为n组测试数据。数列中的数为int,每个元素用空格隔开。输出原创 2012-06-22 23:24:30 · 1912 阅读 · 0 评论 -
数组合并
非常基本的问题,但是在循环判断里面,想的特别复杂,边界条件设置不全面,考虑输入的边界值没有完整。记录一下思路:首先考虑两个已排序数组合并,记录两个总长,从数组1的尾部开始依次比对合并。Total Accepted: 117965Total Submissions: 382909Difficulty: Easy原创 2016-09-07 16:10:51 · 1520 阅读 · 0 评论