这道题本来思路并不复杂,先对第一列做binary search, 
找到target所在的行,再对所在的行做binary 
search,找到target在或不在。但是我在编程的时候遇到了很多问题,堆栈溢出(StackOverflowError)折腾死我了,一些边界条件的考虑也颇费周折。我之所以会碰到堆...
                            
                            
                                分类:
其他好文   时间:
2014-05-23 08:35:31   
                                阅读次数:
294
                             
                    
                        
                            
                            
                                1 缓冲区溢出原理 
缓冲区是一块连续的计算机内存区域,可保存相同数据类型的多个实例。缓冲区可以是堆栈(自动变量)、堆(动态内存)和静态数据区(全局或静态)。在C/C++语言中,通常使用字符数组和malloc/new之类内存分配函数实现缓冲区。溢出指数据被添加到分配给该缓冲区的内存块之外。缓冲区溢出....
                            
                            
                                分类:
其他好文   时间:
2014-05-23 08:05:04   
                                阅读次数:
332
                             
                    
                        
                            
                            
                                【迷宫问题】
【算法1---堆栈回溯】
计算机解迷宫时,通常用的是"试探和回溯"的方法,即从入口出发,顺某一方向向前探索,若能走通,则继续往前走;否则沿原路退回,换一个方向再继续探索,直至所有可能的通路都探索到为止,如果所有可能的通路都试探过,还是不能走到终点,那就说明该迷宫不存在从起点到终点的通道。
  1.从入口进入迷宫之后,不管在迷宫的哪一个位置上,都是先往东走,如果走得通...
                            
                            
                                分类:
其他好文   时间:
2014-05-22 13:25:23   
                                阅读次数:
283
                             
                    
                        
                            
                            
                                OpenGL中的投影使用
         在OpenGL中,投影矩阵指定了可视区域的大小和形状。对于正投影与透视投影这两种不同的投影类型,它们分别有各自的用途。
 
正投影
         它适用于2D图形,如文本、建筑绘图等。在它的应用场合,我们希望在屏幕上展示准确的物体大小和度量。
 
透视投影
         它使用透视除法,对距离观察者较远的物体...
                            
                            
                                分类:
其他好文   时间:
2014-05-22 09:19:20   
                                阅读次数:
280
                             
                    
                        
                            
                            
                                return 和 exit 的区别
exit()          表示结束当前进程或当前程序,在整个程序中,只要有
                  exit,就退出,并将应用程序的一个状态返回给OS。一般
  和操作系统相关的是0为正常退出,非0为非正常退出。
return:     表示调用堆栈的返回。例如当程序进入函数调用时,当函数
                  ...
                            
                            
                                分类:
其他好文   时间:
2014-05-22 06:22:02   
                                阅读次数:
258
                             
                    
                        
                            
                            
                                经典排序算法 - 堆排序Heap 
sort堆排序有点小复杂,分成三块第一块,什么是堆,什么是最大堆第二块,怎么将堆调整为最大堆,这部分是重点第三块,堆排序介绍第一块,什么是堆,什么是最大堆什么是堆这里的堆(二叉堆),指得不是堆栈的那个堆,而是一种数据结构。堆可以视为一棵完全的二叉树,完全二叉树的一个...
                            
                            
                                分类:
其他好文   时间:
2014-05-22 00:05:09   
                                阅读次数:
319
                             
                    
                        
                            
                            
                                堆栈和队列是最基本的两个ADT,简单但是重要。先讲堆栈在计算机中的应用。堆栈:1.用于符号匹配。在编译器的语法检查中,一个过程就是检查各种括号是否匹配,比如 
([]) ,这就是匹配的,而 {[}] 就不匹配了。可以用堆栈来实现括号匹配。具体算法如下:建立一个空的堆栈。 while( 文件没有结...
                            
                            
                                分类:
其他好文   时间:
2014-05-21 19:52:47   
                                阅读次数:
348
                             
                    
                        
                            
                            
                                我们知道 android NDK 程序在崩溃时会生成一个 tombstone 的 backtrace (也可利用 ADB logcat 抓取),从这个 backtrace 中我们可以了解是哪个函数引发的崩溃,但是通常由于我们发布时都是 release 版,无法利用 backtrace 中的地址信息直接定位到源码和行号,当引发崩溃的错误不是很明显时,对于我们解决问题的帮助就不大。
这时通常我们是重...
                            
                            
                                分类:
移动开发   时间:
2014-05-21 15:30:02   
                                阅读次数:
502
                             
                    
                        
                            
                            
                                如题,我这里简单说下我现在离线分析java内存的方式,所谓离线,就是需要
dump出正在运行的java系统中的一些运行时堆栈数据,然后拿到线下来分析,分析可以包括内存,线程,GC等等,同时不会对正在运行的生产环境的机器
造成很大的影响,对应着离线分析,当然是在线分析了,这..
                            
                            
                                分类:
编程语言   时间:
2014-05-21 13:06:20   
                                阅读次数:
426
                             
                    
                        
                            
                            
                                #include "STC12C5A.H"
#define TIMER_RELOAD()  {TL0=0x00;TH0=0xC4;}//使能T/C
 初始10ms
#define MAX_TASKS 8 //任务槽最大个数.
unsigned char idata task_stack[MAX_TASKS][2];//任务堆栈.  PC指针为16位,需2个字节。
unsi...
                            
                            
                                分类:
编程语言   时间:
2014-05-21 08:12:12   
                                阅读次数:
285