- 博客(10)
- 资源 (2)
- 收藏
- 关注
原创 leetcode-LRUCache的解
因为要频繁执行查询插入删除等操作,所以考虑用hash表来做。为了实现LRU,可以根据数据的最后使用时间维护一个堆,查找和调整都是O(lgn) ,没有试过,不知道想法对不对。 我采用的是双链表+map的办法,在表头插,表尾删。class LRUCacheValue;typedef pairconst int, LRUCacheValue> VTYPE;class LRUCac
2014-03-22 17:12:21 253
原创 Catalan数理解
源自对leetcode Generate Parentheses一题的研究类比于出栈入栈f(n) = f(0)f(n-1) +... + f(n-1)f(0)设栈第一次出空时最大数为k, 第一次出空时最后一个数必为最先入栈的数,首尾都是该数,所以结果为f(k-1),剩下的为f(n-k).以3为例,f(3) = f(0)f(2) + f(1)f(1)+f(2)f(0);
2014-03-15 18:59:32 273
原创 Android jni调试
常用的无非两种,打印log和gdb打印log比较容易看出错误所在,但是感觉不太好定位gdb(ndk-gdb)使用起来相当不便啊!!首先确保库已经被加载,然后再运行ndk-gdb设置断点,continue,等待断点命中。然后再继续JAVA层的运行。一个比较好用的东西是看Logcat里面打印出的tombstone信息,需要用到addr2line工具,不过很容易就能找到出错时的堆栈调
2013-01-08 10:22:08 195
原创 常见动态规划例子(双调欧几里得旅行商问题、0-1背包问题等)
最近在看《算法导论》的动态规划一章,相当有意思。因此把一些常见例子归个类。持续更新…… 1.双调欧几里得旅行商问题 欧几里得旅行商问题是对平面上给定的n个点确定一条连接各点的最短闭合旅程的问题。如图(a)给出了一个7个点问题的解。这个问题的一般形式是NP完全的,故其解需要多于多项式的时间。 J.L. Bentley 建议通过只考虑双调旅程(bitonic tour)来简化
2012-12-22 14:45:36 333
原创 ffmpeg0.10移植到Android 2.3 (surface/OpenGL_ES)
之前在2.2上移植成功的ffmepg0.10在2.3上没法使用,表现为无法load .so文件。原因是2.2和2.3的surface实现发生了区别,解决方法比较多。目前实现了一种(第二种同步还有点问题)简单记录下步骤1.类似2.2系统,直接在2.3源码树下编译出需要的库。(参考havlenaptr的代码包和网上一系列编译android源码树的文章,关于ffmpeg
2012-04-25 15:12:56 478 1
原创 Win7下利用MinGW和Android NDK编译ffmpeg0.10(neon优化)
不久之前萌生了移植ffmpeg到android平台上的冲动,然后就开始搞。网上搜了个遍,着实费了不少工夫。因此把成果列出来供同道中人参考。本文主要参考了Scott Wong 兄的在 Windows 7 下使用 Android NDK r5c 编译 FFmpeg 0.7.1一文。但是由于版本和其他一些原因,我自己对他给出的代码做了不少修改。废话少说,直接贴代码吧首先是jn
2012-03-19 16:17:38 1211 3
转载 ps和kill命令详解
进程是Linux系统中一个非常重要的概念。Linux是一个多任务的操作系统,系统上经常同时运行着多个进程。我们不关心这些进程究竟是如何分配的,或者是内核如何管理分配时间片的,所关心的是如何去控制这些进程,让它们能够很好地为用户服务。Linux操作系统包括三种不同类型的进程,每种进程都有自己的特点和属性。交互进程是由一个Shell启动的进程。交互进程既可以在前台运行,也可以在后台运行。批处理进程
2012-02-22 00:21:49 273
ndk编译ffmpeg0.10(Neon)的android.mk文件
2012-03-19
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人