码迷,mamicode.com
首页 >  
搜索关键字:剑指offer c++    ( 3728个结果
剑指offer-第四章解决面试题思路(字符串的排序)
题目:输入一个字符串,打印出该字符串的全排列。思路:将整个字符串分成两部分,第一部分为一个字符,将该字符和该字符后面的字符(直到最后一个字符)依次交换,确定第一个字符;然后固定第一个字符,将后面的字符也按照这种思维递归,即可完成整个字符串的排列。如图所示: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
剑指Offer——在特殊数组中查找某数
问题:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断该数组中是否含有该整数。比如:在如下二维数组中查找是否有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
剑指offer相关问题
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
剑指offer习题集2
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
剑指offer-第四章解决面试题思路(判断一个数组是否为二叉搜索树的后序遍历序列)
二叉搜索树:二叉搜索树根节点的左边都比根节点小,右边都比根节点大。例题:输入一个数组,判断是否为二叉搜索树的后序遍历序列,如果是,返回true,如果不是,返回flase,假设没有重复的元素。思路:由于是后序遍历,所以数组的最后一个节点是根节点,而且,由于是二叉收索树,所以,前面的数据被分为两部分,右...
分类:编程语言   时间:2015-08-18 13:51:27    阅读次数:136
剑指offer 39_二叉树的深度
#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
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!