题目:输入一个字符串,打印出该字符串的全排列。思路:将整个字符串分成两部分,第一部分为一个字符,将该字符和该字符后面的字符(直到最后一个字符)依次交换,确定第一个字符;然后固定第一个字符,将后面的字符也按照这种思维递归,即可完成整个字符串的排列。如图所示:Java代码:public class St...
分类:
编程语言 时间:
2015-08-20 14:40:21
阅读次数:
122
题目
统计一个数字在排序数组中出现的次数。例如输入排序数组{1,2,3,3,3,3,4,5}和数字3,由于3在这个数组中出现了4次,因此输入4.
思路
首先第一种思路,必然是遍历数组,然后定义累加器,但是这种时间复杂度为O(n)
我们注意到数组是排序的,我们可以利用而分查找的特点,首先将第一个3找到,然后找出最后一个3,相减即可。
代码
public static in...
分类:
编程语言 时间:
2015-08-20 01:35:05
阅读次数:
149
问题:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断该数组中是否含有该整数。比如:在如下二维数组中查找是否有7,若存在,则返回true,否则,返回false。
1
2
8
9
2
4
9
12
4
7
10
13
6
8
11
...
分类:
编程语言 时间:
2015-08-19 20:40:30
阅读次数:
110
题目
1、判断一个单链表是否带环
2、求取一个带环单链表的环的长度
3、求取一个带环单链表的环的入口
4、判断两个不带环单链表是否相交
5、求取两个不带环单链表的一个公共节点
这仅仅一个单链表是否带环可以拓展出这么多的问题,我们来一个一个解决
1、判断一个单链表是否带环。
思路
记得以前做过这个,可以用快慢指针,两个指针同时指向头结点,快指针一次走两个,慢指针一次走一个,...
分类:
其他好文 时间:
2015-08-19 00:39:18
阅读次数:
202
1. 变态跳台阶 Fib(n) = Fib(n-1)+Fib(n-2)+Fib(n-3)+..........+Fib(n-n) =Fib(0)+Fib(1)+Fib(2)+.......+Fib(n-2)+Fib(n-1)而Fib(n-1)=Fib(0)+Fib(1)+Fib(2)+....
分类:
其他好文 时间:
2015-08-18 16:09:13
阅读次数:
100
1.把数组排成最小的数class Solution {public: static bool compare(const string& s1, const string& s2) { string t1 = s1 + s2; string t2...
分类:
其他好文 时间:
2015-08-18 15:34:16
阅读次数:
105
二叉搜索树:二叉搜索树根节点的左边都比根节点小,右边都比根节点大。例题:输入一个数组,判断是否为二叉搜索树的后序遍历序列,如果是,返回true,如果不是,返回flase,假设没有重复的元素。思路:由于是后序遍历,所以数组的最后一个节点是根节点,而且,由于是二叉收索树,所以,前面的数据被分为两部分,右...
分类:
编程语言 时间:
2015-08-18 13:51:27
阅读次数:
136
#include #include typedef int Item;typedef struct node{ Item m_value; struct node* m_pLeft; struct node* m_pRight;}BinaryTreeNode;int getTree...
分类:
其他好文 时间:
2015-08-18 13:35:21
阅读次数:
142
题目
在数组中的两个数字如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对,输入一个数组,求出这个数组中的逆序对的总数。
例如:{7,5,6,4},一共存在5个逆序对,分别是(7,6)(7,5)(7,4)(6,4)和(5,4)
思路
本来是毫无思路的,一般习惯了暴力破解,剑指offer后面的归并排序的思想,让我想到归并排序是好多年前写过的(忘了......果然出来混总是要还...
分类:
编程语言 时间:
2015-08-18 12:11:06
阅读次数:
344
题目
输入两个链表,找出他们的第一个公共节点。下面第一个公共节点便是40。
1->2->3----- >40->50
10->20->30----/
思路
看到栈就忽然恍然大悟,然后在看到类似快慢指针,更大悟。
思路一:
分别遍历第一条链表和第二条链表,将其每个节点分别存入两个栈,然后依次出栈,最后一个相同的的栈...
分类:
其他好文 时间:
2015-08-18 12:07:57
阅读次数:
119