- 博客(14)
- 资源 (7)
- 收藏
- 关注
原创 二分查找实现
二分查找二分查找的前提是数组必须有序。这个算法据某本说,百分之九十的都会写错。编写程序需要注意的是非法输入尽量使用迭代,因为如果数组很大的话,递归有可能是栈溢出循环判断条件注意mid的求值方法,mid = ((right - left) >> 1) + left ;可以防止两个整型值相加时溢出。并注意>>运算符优先级低于+ - * / %,所以要对左移右移加括号。如果没有加括号,得出的答案是
2015-07-30 21:00:22 1052
原创 atoi代码实现
atoi函数atoi函数是实现数字字符串转整型数,实现代码的时候,要特别注意以下几点:前面有空格,调过要注意符号,即是正还是负数非法输入处理溢出代码实现int my_atoi(const char *str){ const char *s; char c; unsigned int cutoff; int acc; int neg, any, cu
2015-07-30 20:32:43 1444
原创 【面试题】在O(1)时间复杂度删除链表节点
题目描述给定一个单链表中的表头和一个等待被删除的节点(非表头或表尾)。请在在O(1)时间复杂度删除该链表节点。并在删除该节点后,返回表头。样例 给定 1->2->3->4,和节点 3,返回 1->2->4。(372) Delete Node in the Middle of Singly Linked List http://www.lintcode.com/zh-cn/problem/dele
2015-07-28 15:01:17 4024
原创 【面试题】删除链表中倒数第n个节点
问题描述给定一个链表,删除链表中倒数第n个节点,返回链表的头节点。样例 给出链表1->2->3->4->5->null和 n = 2.删除倒数第二个节点之后,这个链表将变成1->2->3->5->null.解题思路定义两个指针,刚开始分别指向头结点,然后先让一个指针先走n-1步,接着两个指针同时遍历链表,当第一个指针到达链表尾部的时候,第二个指针指向的就是要删除的倒数第n个结点。 编程需要注意的
2015-07-28 14:04:11 4743
原创 Linux 使用core file文件快速定位程序崩溃代码行
问题描述如果在 Linux下编写程序,有时运行程序的时候程序崩溃,比如说只有“Segmentation fault (core dumped) ”,程序比较小的话,还可以一行一行查看,但是如果程序很庞大,一行行查询,效率非常低下。Linux下可以程序可以生成core file文件,借助gdb很快能定位到崩溃的代码行。解决方案测试程序,除零操作,程序会崩溃/*test.c*/#include <
2015-07-26 21:47:45 3645
原创 error: stray ‘\342’ in program
如果遇到下面的问题error: stray ‘\342’ in programerror: stray ‘\200’ in programerror: stray ‘\235’ in programerror: stray ‘\342’ in programerror: stray ‘\200’ in programerror: stray ‘\230’ in programerror:
2015-07-25 08:34:18 16878
原创 Android NDK开发环境配置
点击Project->Properties->Builders->New,新建立一个Builder。在弹出的对话框上面点击Program在弹出的对话框【Edit Configuration】中,配置选项卡【Main】:Location中需要填入nkd-build.cmd的路径(NDK安装目录下)。Working Diretcoty中需要填入TestNDK的工程根目录。配置选项卡【Refresh】
2015-07-24 09:39:31 800
原创 【解决方法】Unexpected namespace prefix “xmlns” found for tag Layout
问题描述出错代码如下:<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"
2015-07-24 09:34:10 4153
原创 Adobe Flash Player 因过期而遭到阻止的解决办法
今天Chrome内核的所有浏览器打开网页均提示“Adobe Flash Player 因过期而遭到阻止”,每一次都弹出这条信息,非常烦人。解决办法找到浏览器的快捷方式,右击点属性,在目标(T)中 添加 “–allow-outdated-plugins” ,表示允许过期插件运行。像我的添加之后,如下格式:注意“–allow-outdated-plugins”与“.exe”有空格C:\Users\zen
2015-07-15 19:03:38 12104
原创 内存泄漏检测
今天阿里内推电话面试,估计给跪了,其中问到一个问题就是,如何检测程序的内存泄漏问题。学生写的程序几乎比较小,没做过大型项目,所以内存泄漏问题一般情况下,肉眼都可以解决问题,直接看下哪块被malloc或new的内存,没有对应的free或delete掉。面试完,网上寻找了下答案,发现借助工具来检测非常方便而且精准。google搜索下关于这方面的资料,发现写得很不错,分享给大家,顺便标记下。强烈推荐第一篇
2015-07-13 20:10:21 737
原创 【面试题】寻找旋转排序数组中的最小值
题目描述假设一个旋转排序的数组其起始位置是未知的(比如0 1 2 4 5 6 7 可能变成是4 5 6 7 0 1 2)。你需要找到其中最小的元素。http://www.lintcode.com/zh-cn/problem/find-minimum-in-rotated-sorted-array/解题思路基本思想采用二分查找,不过首先要判断这个排序数组是否直接有序,如果是0 1 2 3 4 5 6
2015-07-11 21:42:45 731
原创 【面试题】用栈实现队列
题目描述正如标题所述,你需要使用两个栈来实现队列的一些操作。队列应支持push(element),pop() 和 top(),其中pop是弹出队列中的第一个(最前面的)元素。pop和top方法都应该返回第一个元素的值。 http://www.lintcode.com/zh-cn/problem/implement-queue-by-two-stacks/代码实现class Queue {publ
2015-07-11 20:31:31 853
原创 前序遍历和中序遍历树构造二叉树
样例题目来自LintCode, 给出中序遍历:[1,2,3]和前序遍历:[2,1,3]. 返回如下的树: 2 / \1 3代码实现/** * Definition of TreeNode: * class TreeNode { * public: * int val; * TreeNode *left, *right; * TreeNode(int va
2015-07-11 16:24:21 832
原创 【面试题】-反转句子
题目描述给定一个字符串句子,进行反转,不能申请额外的内存,比如“This is a sentence”,输出就是”sentence a is This”解题思路先对每个单词进行反转,结果为 “sihT si a ecnetnes” 然后再对整个句子反转,就是最终结果。 反转不能利用额外的空间,那就使用头尾指针,交换头尾指针的数据即可代码实现#include <stdio.h>#include <
2015-07-08 17:21:03 1391
OpenCV ANN 神经网络 数字识别
2015-06-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人