摘要:
新鲜出炉~,创新工厂2013-9-25晚在交大的现场笔试题~1、回文修复 所谓回文,就是正序和倒序遍历结果一样的字符串,比如“aba”,“abcdedcba”。实现一个方法pal(),输入一个字符串,打印出以这个字符串为前缀的一个回文。比如输入“abc”,pal()方法打印出“abcdcba”或“abcba”;输入“abcb”,可以输出“abcbcba”或“abcba”。如果可能,输出尽量短的结果。以Java语言为例: void pal(String in);语言任选。分析: 这道题说白了就是求以给定字符串为前缀的最短回文串。首先我们要明确的是,假设字符串的长度为len,那么最短长度... 阅读全文
阅读排行榜
[基础数据结构]二叉树完全总结
2013-09-04 11:40 by 庸男勿扰, 1051 阅读, 收藏,
摘要:
树形结构是数据结构中一种非常常用的非线性结构。通常用来表示具备分支关系的层次结构。其中二叉树又是树形结构中最简单最常见的一种。一、定义 二叉树,顾名思义,只有两个分叉的树,他的特点就是每个节点至多只有两颗子树(即二叉树中不存在度大于2的节点),通常情况下,我们称二叉树的两颗子树为左子树和右子树。二叉树又可递归定义为:①一个空树;②左子树和右子树均为二叉树。换句话说,二叉树有三个部分组成,根节点和同为二叉树的左右子树。这种递归定义非常有趣,它将帮助我们解决很多二叉树的操作问题。 二叉树中有两种特殊的形态,分别是完全二叉树和满二叉树。 满二叉树是指,除叶子节点外,每个节点都有两个子节点... 阅读全文
[数字技巧]重复数字统计算法的空间优化
2013-08-29 15:54 by 庸男勿扰, 826 阅读, 收藏,
摘要:
今天在微博上看到的一道面试题,觉得非常有意思,特记录下来。 原题是这样的: 给定数组A,大小为n,数组元素为1到n的数字,不过有的数字出现了多次,有的数字没有出现。请给出算法和程序,统计哪些数字没有出现,哪些数字出现了多少次。能够在O(n)的时间复杂度,O(1)的空间复杂度要求下完成么? 这道题目最大的难点就在于时空限制,确切的说是空间限制,如果没有空间复杂度为O(1)的要求,我们很容易想出用一个hash表来记录元素的出现次数。实现的代码如下: 1 #include 2 #include 3 #include 4 5 int a[1001]; 6 int b[1001] 7 ... 阅读全文
[九度OJ]1431.Sort(寻找前m大数并排序)
2013-09-05 20:49 by 庸男勿扰, 810 阅读, 收藏,
摘要:
原题链接:http://ac.jobdu.com/problem.php?pid=1431题目描述:给你n个整数,请按从大到小的顺序输出其中前m大的数。输入:每组测试数据有两行,第一行有两个数n,m(0 2 #include 3 #include 4 using namespace std; 5 6 int n,m; 7 int arr[1000001]; 8 int heap[1000001]; 9 10 bool cmp(int a,int b)11 {12 if(a>b)13 return true;14 else15 return ... 阅读全文
[九度OJ]1113.二叉树(求完全二叉树任意结点所在子树的结点数)
2013-09-07 01:26 by 庸男勿扰, 784 阅读, 收藏,
摘要:
原题链接:http://ac.jobdu.com/problem.php?pid=1113题目描述: 如上所示,由正整数1,2,3……组成了一颗特殊二叉树。我们已知这个二叉树的最后一个结点是n。现在的问题是,结点m所在的子树中一共包括多少个结点。 比如,n = 12,m = 3那么上图中的结点13,14,15以及后面的结点都是不存在的,结点m所在子树中包括的结点有3,6,7,12,因此结点m的所在子树中共有4个结点。输入: 输入数据包括多行,每行给出一组测试数据,包括两个整数m,n (1 2 3 int nodeNum_rec(int m,int n) 4 { 5 if(m>n)... 阅读全文
浙公网安备 33010602011771号