前面提到过很多次大整数的问题,这个是真正的大整数。
我用了一个很蠢得方法,先写一个大整数和一个个位数相乘的方法,返回的结果是一个string,然后写一个string相加的方法,每次循环,用其中一个数的每一位去乘另一个数,然后加到结果上。。
多么愚蠢的思路,居然还一遍过了。。一个更好的方法是先用两个int数组把两个string存一下,每位占数组中的一个数,然后再用一个int数组保存结果,每次也是...
分类:
其他好文 时间:
2014-05-15 14:55:51
阅读次数:
322
嗯,数据结构中,排序是不可少的,下面给出java版本的排序...
分类:
编程语言 时间:
2014-05-15 14:44:49
阅读次数:
330
题意:给定一棵perfect binary tree,将它每一个节点的next指针都指向该节点右边的节点
思路:dfs
在connect一棵树的时候,需要知道这棵树的根节点和它右边的节点
1.将树的根节点和它右边的节点连接起来
2.递归地将左子树connect起来,需要知道左子树节点和右子树节点
3.递归地将右子树connect起来,需要知道右子树节点和根右边的节点的左子树节点
递归函数为:
void connect(TreeLinkNode *root, TreeLinkNode *sibling)
表...
分类:
其他好文 时间:
2014-05-15 07:14:04
阅读次数:
289
通过操作指针,与指针做函数参数'实现字串在主串中出现的次数,然后将出现的部分按照要求进行替换...
分类:
其他好文 时间:
2014-05-15 05:58:16
阅读次数:
218
啊啊啊啊,好怀念这种用递归保存路径然后打印出来的题目啊,好久没遇到了。
分了两种,一种是可以重复使用数组中数字的,一种是每个数字只能用一次的。其实没有多大区别,第一种每次进入递归的时候都要从头开始尝试,第二种要找一个标记的数组,把已经用到过的排除掉,就像生成全排列时的做法一样。跟我一样用引用保存中间结果的话,要注意回退的情况。第二种回退时,要把用到的那个数也恢复为可用,就完全像全排列时做的一样。...
分类:
其他好文 时间:
2014-05-15 04:46:34
阅读次数:
272
又好又难的题。
我发现难题一般都包含了好几个简单题,必须对一些基本的算法熟练掌握才能快速准确的写出代码。这个题就用到了kmp,这个算法写过好多遍,还是不断的出错,哎。
题目中有两种符号,?可以匹配任意单个字符,*可以匹配任意0个或多个字符。?其实没什么,麻烦就麻烦在*上。一个*实际上代表了一段任意的字符串。很容易想到的一种解法是用递归,当p[i]不为*时,看p[i]是不是'?'或者p[i]==...
分类:
其他好文 时间:
2014-05-15 04:19:36
阅读次数:
265
未排序数组,O(N)时间,常数空间,这道题让我非常清晰的感觉到算法的魅力。
先想一下如果允许用额外空间的话,我们会怎么做,对,我们会建立一个hash表,然后从头到尾的扫描数组,等等,怎么映射呢?有n个数,要找第一个消失的正正整数,那么这个消失的正整数的取值范围是什么呢?[1, n+1],之所以包含n+1是因为如果这n数正好是连续的前n个自然数。那我们就知道了,开一个长为n的哈希表,如果当前扫到得...
分类:
其他好文 时间:
2014-05-15 03:45:41
阅读次数:
276
基本概念和术语
1.数据 数据元素 数据对象 数据结构
数据:在计算机科学中是指所有能输入到计算机中并被计算机程序处理的符号的总称.
数据元素:是数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理。
数据对象:是性质相同的数据元素的集合。是数据的一个子集。
数据结构:是相互之间存在一种或多种特定关系的数据元素的集合。
2.数据结构
数据结构分为逻辑结构和物理结构
...
分类:
其他好文 时间:
2014-05-15 03:26:16
阅读次数:
317
很有意思的题目,我一开始的思路受计算柱状型最大面积那道题的影响,想每次求两种满足特定关系的柱子之间的水的量,结果各种错,各种特殊情况需要排除,我意识到是自己的思路有问题了。
停下来想一下水的体积到底跟什么有关系?当然可以把是水的地方都加起来,这样必须看两个柱子之间的高低关系,还要考虑底部的高度。还有一种方法呢,求整个区域的面积,然后把不是水的地方去掉,剩下的就是水的体积。这种方法好在那里呢?这种...
分类:
移动开发 时间:
2014-05-14 14:12:33
阅读次数:
429