- 博客(4)
- 资源 (4)
- 收藏
- 关注
原创 百度面试 在一个int数组中找这样一种数
在一个int数组里查找这样的数,它大于等于左侧所有数,小于等于右侧所有数。直观想法是用两个数组a、b。a[i]、b[i]分别保存从前到i的最大的数和从后到i的最小的数,这需要两次遍历,然后再遍历一次原数组,将所有data[i]>=a[i-1]&&data[i]给出这个解答后,面试官有要求只能用一个辅助数组,且只能一次遍历。想了半天没想出来,后来在面试官的提示下得出解,今天实现了一下。见代码:#include using namespace std; #define max(a,b) a>b
2010-11-23 20:47:00 3426 24
原创 百度面试题
1.一个int数组,里面数据无任何限制,要求求出所有这样的数a[i],其左边的数都小于等于它,右边的数都大于等于它。能否只用一个额外数组和少量其它空间实现。这道题的解答请看下一篇日志2.一个文件,内含一千万行字符串,每个字符串在1K以内,要求找出所有相反的串对,如abc和
2010-11-23 14:39:00 3603 5
原创 二叉树先序、中序、后序遍历的非递归实现
<br /> <br />在网上看了一些用非递归实现先序中序后序遍历二叉树的代码,都很混乱,while、if各种组合嵌套使用,逻辑十分不清晰,把我也搞懵了。想了大半天,写了大半天,突然开了窍,实际上二叉树的这三种遍历在逻辑上是十分清晰的,所以才可以用递归实现的那么简洁。既然逻辑如此清晰,那么用非递归实现也应该是清晰的。<br />自认为自己的代码比网上搜到的那些都清晰得多,好理解得多。<br />稍微解释一下:<br />先序遍历。将根节点入栈,考察当前节点(即栈顶节点),先访问当前节点,然后将其出栈(已经
2010-11-23 14:34:00 1685 3
原创 EMC笔试题
<br />1.JAVA构造函数的调用顺序<br /> <br />2.<br />int **a;<br />int(*b)[];<br />int(*c)[3];<br />int d[1][2][3];<br />对于函数int func(int(*val)[3]){return 0;}<br />来说,以下哪些参数调用可以,哪些不可以?<br />a.a<br />b.b<br />c.c<br />d.d[0]<br /> <br />3.最快算Fibonacci(n)第N项的复杂度是多少?<br
2010-11-21 15:46:00 1249
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人