#include
using namespace std;
bool ifHasNum(int *data,int row, int col, int num){
if(data == NULL || row <= 0 || col <= 0){
return false;
}
int i = 0;
int j = col - 1;
while(i = 0){
if(nu...
分类:
其他好文 时间:
2014-09-06 11:00:53
阅读次数:
198
斐波那契数列教科书都有,而且基本都会出现在递归那一节。但是并不是说递归就是斐波那契的最好解法,而是因为它能更好的诠释什么是递归。但是真正的软件开发并不会使用此种方法。递归有其最大的好处就是简洁,将大的问题转化为小的问题。在宏观上很好理解。但是递归的效率也是很值得探讨的。递归需要系统自己本身不停的压栈,保存中间量和状态,而且调用函数也是需要时间和空间的。因此效率上就出现了问题。而且每个进程所开的栈的...
分类:
其他好文 时间:
2014-09-05 10:02:31
阅读次数:
197
1、代码托管在我的Github上面:https://github.com/DanielJyc/SwordOffer2、《剑指Offer》这本书挺不错,难度适中,思路清晰,并讲到了细节问题;对于面试软件研发的人都应该仔细看看。原书使用C/C++实现,我决定用Java按照书上的思路重写一下。3、对自己大...
分类:
编程语言 时间:
2014-09-04 18:37:19
阅读次数:
217
这题有两种思考方式,一种是添加辅助空间,先进后出,当然是栈了,做法就是遍历链表,将值压入栈中,然后再一次弹出。还有一种方法是链表反序,链表反序也有两种方法。一种是将链表在原有的基础上更改指针,进行反序。光看代码可能不太还理解,我们可以看一下执行过程。
假设p1->p2->p3->p4->p5->p5->.......那么执行一次为p1p3->p4->p5.......然后p1=p2;p2=p3;...
分类:
其他好文 时间:
2014-09-04 00:15:47
阅读次数:
216
本身难度并不大,java一个replace();就可以了,或者另外开辟一个String,遍历一遍也是可行的,但是出发点并不是A题,而是考虑性能,程序在空间还有时间上的使用以及程序的鲁棒性,不过九度上的测试数据还真是大char数组要开到10^6次方。
普通的就不说了,介绍一下书中的方法。
假设str="We Are Happy";设置两个指针p1,p2。初始化为0.p1指的是原长度,p2指的是替...
分类:
其他好文 时间:
2014-09-03 19:56:17
阅读次数:
239
思路: 从右上方开始,若小于 target, 则往下走;若大于 target, 对改行二分查找;若等 target, 返回 true.
思路: 斐波那契。此处用动归。 还可以使用矩阵二分乘。(剑指offer: 题9)
分类:
其他好文 时间:
2014-09-03 19:42:47
阅读次数:
249
一、归并排序
算法思路就是把数组分成左右两个部分,然后再进行归并两个有序表
void merge(int* num,int start,int mid,int end,int* copy)
{
int i = start,m = mid,j = mid+1,n = end,k=start;
while(i <= m && j <= n)
{
if(num[i] < num[j])co...
分类:
其他好文 时间:
2014-08-27 13:04:57
阅读次数:
247
题目:定义一个函数,输入一个链表的头结点,反转该链表并输出反正后链表的头结点。#include#includetypedef struct node{ int Element; struct node *Link;}Node;Node *ReverseList(Node *first){...
分类:
其他好文 时间:
2014-08-25 16:48:44
阅读次数:
143