- 博客(37)
- 资源 (12)
- 收藏
- 关注
原创 求中位数的问题
1. 两个有序数组,求其中位数 中位数概念, 对于有序数组, 如果长度为奇数, 那么中位数为中间那个数如果长度为偶数,中位数为中间两个数的平均数 对于有序数组 A1, A2, .... AM, A(M+1), .... AN, 如果其中位数为 AM从 A1 ~ A(M-1) 中去掉 k 个数从 A(M+1) ~ AN 中去掉k个数, 则新形成的
2015-04-03 23:06:50 1013
原创 HeapSort
void HeapAdjust(int a[], int n, int i) { int l = 2*i + 1; int r = l + 1; int largest = i; if (l a[i]) { largest = l; } if (r a[largest]) { largest = r; } if (
2013-10-22 11:19:17 647
原创 KMP
void KMP(char* s, char* p) { int s_len = strlen(s); int p_len = strlen(p); // generate next-array; vector next; next.push_back(-1); // -1, 0...; for (int i = 1; i < p_len; i++) { int n = -1;
2013-10-17 23:22:50 638
原创 QuickSort
template void Swap(vector& a, int i, int j) { T temp = a[i]; a[i] = a[j]; a[j] = temp;}template void QuickSort(vector& a, int start, int end) { if (start < end) { // start ~ (i-1) < pivot;
2013-10-17 21:43:38 596
原创 hash_map 实现
template struct HashNode { KEY key; VAL value; HashNode* next; HashNode() : next(NULL) { } HashNode(KEY key, VAL val) : key(key), value(val) { next = NULL; }};template class HashMap {
2013-10-15 22:55:09 583
原创 Longest Consecutive Sequence
http://oj.leetcode.com/problems/longest-consecutive-sequence/ void find_longest_consequence(void) { vector v; v.push_back(100); v.push_back(4); v.push_back(200); v.push_back(200); v.pu
2013-09-24 19:25:18 536
原创 Sum Root to Leaf Numbers
http://oj.leetcode.com/problems/sum-root-to-leaf-numbers/ struct TreeNode { int val; TreeNode* left; TreeNode* right; TreeNode(int x): val(x), left(NULL), right(NULL) { }};void get_nu
2013-09-24 17:34:42 573
原创 Surrounded Regions
http://oj.leetcode.com/problems/surrounded-regions/void mark(vector>& board, int x, int y) { int h = board.size(); int w = board[0].size(); if (board[y][x] == 'o') { board[y][x] = 's';
2013-09-24 17:00:36 669
原创 Palindrome Partitioning II
http://oj.leetcode.com/problems/palindrome-partitioning-ii/int minCut(string s) { int ret = 0; int s_len =s.size(); if (s_len <= 1) { return 0; } // s[0] ~ s[i] needs cuts; vector
2013-09-24 10:36:38 702
原创 Palindrome Partitioning
http://oj.leetcode.com/problems/palindrome-partitioning/ bool is_hw(int i, int j, string s, vector>& table) { if (table[i][j] != 0) { return table[i][j] > 0; } if (s[i] != s[j]) {
2013-09-24 10:35:02 611
原创 FP tree 算法 C++ 实现
// FP.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include #include #include #include #include #include using namespace std;const int kMinSupport = 2;map, int> FreqPattern;struct Tree
2013-06-21 18:57:32 3512 1
原创 c++ 学习
1. shared_ptr 使用test2(shared_ptr g); 《2》test() {shared_ptr sp(new char[4096]); 《1》test2(sp);shared_ptr ap(sp);
2012-11-29 19:57:44 551
原创 JAVA 学习笔记;
1. map Map map = new HashMap(); map.put(new Integer(id), new Integer(i)); map.containsKey(key); map.get(key).intValue();2. array Arrays.sort(area_scale); Arrays.fill(area_scale, 0);
2012-11-02 09:52:15 465
原创 lucene 笔记;
Indexing:1. Index.NOT_ANALYZED: 不要分析doc的这个域, 例如:这个域可能是时间,或者关键的号码,不希望 lucene 去解释它,即将这个 filed 当成完整的一个 token,term, 但是这个域是可以检索到的,令这个值唯一可以精确控制索引的文档;2. Index.ANALYZED_NO_NORMS: 不存储向量信息3. Index.NO:
2012-11-02 09:46:13 429
转载 win7下如何修改我的文档、桌面、IE收藏夹路径
http://blog.csdn.net/jinhill/article/details/5833132 今天换了win7,因为我以前的系统《我的文档》《桌面》《IE收藏夹》全部被我修改到了非系统盘,E盘下,所以这次我也是为了避免在转移文件麻烦,直接在注册表里修改了这些文件的路径。第一步:当然是新建文件夹了,你要保存的目录下新建文件夹,我的是 E:/Documents 。以前有,就不用
2012-05-30 12:51:05 561
原创 正则表达式的 后向引用 问题;
最常见:对于 go go ka ka 用 \b(\w+)\b\s+\1\b 去搜索,\b(\w+)\b\s+\1\b 前面括号里面匹配的东西假设为 x, x = {go go ka ka }后面 \1 表示此处需要一个 x, 即需要匹配: \bx\b\s+x\b 这种形式;所以结果是: go go ka ka
2012-04-13 11:39:58 531
原创 MATLAB 亚像素点检测代码;
用法同 openCV, 使用最小二乘迭代 function corners_tuned = refine_pos( src, corners) % corners: N*2%UNTITLED Summary of this function goe
2011-09-09 10:56:54 3718 1
转载 C 语言中书写二进制数的方法;
#define bin_val(n) ( (((n>>0) & (1)) | (((n>>3) & (1)) | (((n>>6) & (1)) | (((n>>9) & (1)) | (((n>>12) &
2011-09-09 10:53:25 2535
转载 如何把matlab命令窗口中的信息输出(重定向)到文件?
有些时候,我们希望把优化软件push出来到matlab command window中的信息保存下来,以便保存完整的求解log,尤其是当优化软件push大量的信息出来,而matlab command window由于缓存的原因,后续输出信息将前面的信息冲掉,致使command w
2011-07-16 11:07:06 4552
原创 opencv 用 vs 2010 单步 调试;
1. 下载 opencv 2.2, cmake 2.8, vs2010 ;2. 运行 cmake 2.8, 生成 vs2010 工程文件;3. 在工程文件编译整个的lib, 生成 debug 和 release 的lib4. 设置 path = D:/Program Files (x86)/OpenCV2.2/vs2010/bin/Debug // 这个是用 2010 新编的,必
2011-06-18 21:59:00 2221 3
原创 ECC 校验 code, 供测试用;
<br />#include "stdafx.h"#define bit(x, n) (((x) >> (n)) & 0x01)int main(int argc, char* argv[]){ printf("Hello World!/n"); unsigned char data[256]; unsigned char cp[6]; unsigned char rp[16]; unsigned char cpa; int i; int j;
2010-12-24 18:12:00 986
原创 Modelsim 一个错误记录: # ** Error: (vsim-3601) Iteration limit reached at time 29605 ns.
<br /># ** Error: (vsim-3601) Iteration limit reached at time 29605 ns.<br />表示: 在运行的过程中,有一个迭代的次数超过限制了。<br />网上有说: Simulate -> Runtime Option Iteration Limit 改大,这个值默认是 5000, 一般 5000 还有问题,那就是别的问题了。例如:<br />always @ (*)<br /> a = ~a;<br />这个进程,模拟多少次都会出错,
2010-12-06 17:18:00 14013 1
原创 一个串口的收发器;
<br />第一次用 FPGA, 看看只有串口能看到点结果,于是就决定练习那个串口的自收发实验。 首先,要知道串口的原理,串口的波特率指的是每秒发送的 bit 数, 一般的系统时钟都是上 M 级别的,以 25M 为例, 用 25*(10^6)/9600 = 2604.1111 就知道,对于采用 25M的clk, 在 9600 这个波特率下,发送一个bit的持续时间是 2604 个cycle, 虽然不完全精确,但是没有关系,每个字符发送的时候会发送起始位0和结束位1, 这样每次收到开始位0的时候,可以调校一次
2010-10-01 14:59:00 1776
原创 C++ 多重继承 多态函数 内存布局
仅用于 VS 2008 环境:class i_unknown{public: i_unknown() { printf("init base /r/n"); } virtual void queryinterface(int index, void** ppv) = 0; virtual void addref() = 0; virtual void r
2009-07-22 17:15:00 1633
原创 关于读写信号量 (linux 2.6.11)
读写信号量的分析:1) X86 汇编指令js : jump on SF (sign flag)xadd src, dest; temp = src + dest; src = dest; dest = temp; 2)信号量定义:struct rw_semaphore {
2009-06-30 10:25:00 1207
原创 内存寻址
今天看第二章《内存寻址》,这一章跟体系结构的关系比较密切,前面都是讲X86体系的寻址过程,基本上是分页分段。 1) 逻辑地址,线性地址,物理地址;逻辑地址是针对用户进程的,每个进程使用自己的逻辑地址。逻辑地址和线性地址的关系是多对一。如果不开分页机制的话,线性地址就等于物理地址,可见线性地址和物理地址的关系是一对一。正常情况下,程序的逻辑地址先转化成线性地址,然后换算成物理地址。
2009-06-18 17:32:00 1092
原创 有向图的强连通分量
所谓有向图,指的是图中的通路具有方向性。例如: A ---> B, 表示从节点 A 到 B 有条通路, 而从 B 到 A 是不通的。有向图中的强连通分量,是指有向图的一群节点,这些节点相互之间都有路径。 求图的强连通分量都是通过对图进行深度优先搜索来实现。深度优先搜索有一些奇妙的性质。深度优先搜索最终会将图析构成一棵树(普通意义上的树),那么这棵树上的节点发现的顺序,称为时间戳,一般的算法书上
2008-06-07 19:42:00 6589
原创 经典八皇后问题;
贴个八皇后的代码, 免得以后忘了,呵呵。 #include "stdio.h" int Total = 0;typedef struct tag_Quiz{ int Steps; // 0, 1, 2, 3, 4, 5, 6, 7, 8 int Chose[8]; } Quiz;int CheckMap(Quiz Map){ /* check the last
2008-05-16 23:21:00 634
原创 IRP 的创建
1. 有四种方法来创建IRPØ IoBuildAsynchronousFsdRequest创建异步IRP,不需要等待其完成;Ø IoBuildSynchronousFsdRequest创建同步IRP, 需要等待其完成,这种方法和上面的只能创建某些特定类型IRPØ IoBuildDeviceIoCtontrolRequest创建一个类型为 IRP_MJ_DEVICE
2007-10-27 19:12:00 1364
原创 IRP 完成例程
1.最高层驱动总是运行在发起该请求的程序所处的线程中。DriverEntry总是处在系统线程中,系统线程的空间不涉及到线性地址 0 - 2G。APC 是处在任意上下文中,它所在的线程取决于系统运行APC之前最后被挂起的那个线程。2. 所有不返回 STATUS_MORE_PROCESSING_REQUIRED的完成回调例程,需要使用下面的代码:NTSTATUS MyComplet
2007-10-26 20:36:00 3294
翻译 控制器和多功能设备驱动
控制器和多功能设备在第六章提到过,有两种类型的设备不太符合PNP的框架。它们是控制器设备和多功能设备。控制器设备管理一些子设备,而多功能设备在同一个设备上有几种功能。它们的共同之处在于,必须使用独立的I/O资源来创建多个设备对象。在Windows XP 下,支持那些遵守各自总线标准的设备很容易,例如: PCI, PCMCIA,USB设备等。 PCI 总线驱动可自动识别 PCI
2007-10-21 18:42:00 3245
原创 关于 LZW 算法的一些思考
关于 LZW 算法的一点思考以下关于 LZW 算法的叙述转自: http://blog.moocky.net/?action=show&id=27 2.LZW算法和GIF数据压缩 GIF文件的图象数据使用了可变长度编码的LZW压缩算法(Variable-Length_Code LZW Compression),这是从LZW(Lempel Z
2007-09-19 21:46:00 1554 1
原创 ARM 启动过程
ARM 启动过程 对于一般的嵌入式系统来讲,考虑到系统成本,运行速度等因素,往往联合使用好几种存储器件。在下面讲到的例子中,是我在开发中用到的一个 ARM9EJ 的处理器,系统中采用了SDRAM, ROM, Nand FLASH, ITCM ,DTCM 等。 SDRAM: 程序正常运行时所在
2007-09-08 20:05:00 11097 2
原创 红黑树学习记录
这段时间,天天解bug,搞的整个人都烦死了。突然,对红黑树的实现来了兴趣,就费了3天的功夫,自己作了一个,虽然很简单,但实现起来,还真要费点劲。 红黑树的性质很简单,要满足以下5条。 1) 每个节点必须是红色或者是黑色的; 2) 所有的叶子节点的颜色都是黑色的; 3) 如果有一个节点颜色是红色的,那么它的儿子节点颜色是黑的,它
2007-08-11 23:39:00 1709
原创 DDK 编译环境下的 source 的写法
/*** SOURCE 文件预定义的宏****/MACRONAME=MacroValue Eg:TARGETNAME=xxx TARGETPATH=./objTARGETPATHLIB=xx/yy.lib TARGETTYPE=LIBRARY ; DRIVER,EXPORT_DRIVER,BOOTPGM,MINIPORT,GDI_DRIVER
2007-03-16 21:25:00 2480
SD 协议合集,一个就够了~~
2011-01-18
通过 UART 读写 SDRAM verilog 源代码, 附时序约束文件
2010-10-10
uart 收发器 verilog 代码,实现自收发功能;
2010-10-10
SIFT 算法学习资料;
2010-05-24
蓝牙 HCI 驱动(通过 USB 总线)
2010-02-26
控制器和多功能设备驱动
2007-10-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人