简答题

1、给一个单词a,如果通过交换单词中字母的顺序可以得到另外的单词b,那么b是a的兄弟单词,比如单词army和mary互为兄弟单词。
现在要给出一种解决方案,通过用户输入的单词,根据给定的字典找出输入单词有哪些兄弟单词。请具体说明数据结构和查询流程,要求时间和空间效率尽可能地提高。

解答:这题考试的时候没做出来,我想把一个单词的所有字母组合计算出来都不会算。。。有点郁闷

后来上网找了下,用递归找出一个单词所有字母的组合。

#include<stdio.h>void findAllWords(char* s,int start,int end){int i,j,k;char temp;if(start==end){for(i=0;i<end;i++)printf("%c",s[i]);printf("\n");}    else{k=start;for(i=start;i<end;i++){temp=s[i];s[i]=s[k];s[k]=temp;findAllWords(s,start+1,end);temp=s[i];s[i]=s[k];s[k]=temp;//将字符串恢复原样 }}
}
int main(){char s[4]={'a','r','m','y'};findAllWords(s,0,4);return 1;
}

上述做法并不是最佳,纯粹是就提论题(解决abcd所有组合的问题)。

最佳的做法(From Internet)

首先定义a-z分别为从1开始的素数,例如a=2,b=3,c=5,d=7这样.

然后定义一个函数int Func(char* data)

然后函数里面对于每个单词的每个字母进行相乘,例如单词abc就等于5*2*3=30;返回30

然后再到字典里面去找与这个单词位数相同且Func返回值相同的单词就好了. 

这个算法主要用到了一个数学界的定理,如果一个正整数是n个素数相乘的结果,那么这个正整数有且只有一组素数解.

2、线程和进程的区别及联系?如何理解“线程安全”问题?
3、C和C++中如何动态分配和释放内存?他们的区别是什么?

new分配内存+构造对象,malloc只分配内存,delete析构对象并释放内存,free只释放内存

算法设计

1、网页爬虫在抓取页面时,从指定的url站点入口开始爬取这个站点上的所有url link,抓取到下一级link对应的页面后,同样对该页面上的link进行抓取从而完成深度遍历。为简化问题,我们假设每个页面上至多只有一个link,如从www.baidu.com/a.html链接到www.baidu.com/b.html再链接到www.baidu.com/x.html,当爬虫抓取到某个页面时,有可能再链接回www.baidu.com/b.html,也可能爬取到一个不带任何link的终极页面。当抓取到相同的url或者不包含任何link的终极页面时即完成爬取。爬虫在抓取到这些页面后会建立一个单向链表,用来记录抓取到的页面。如:a.html->b.html->x.html...->NULL.
问:对于爬虫分别从www.baidu.com/x1.html和www.baidu.com/x2.html两个入口开始获得两个单向链表,得到这两个单向链表后,如何判断他们是否抓取到了相同的url?(假设页面url上百亿,存储资源受限,无法用hash方法判断其是否包含相同的url)
请先描述相应的算法,再给出相应的代码实现。(只需给出判断方法代码,无需爬虫代码)
2、数组al[0,mid-1]和al[mid,num-1]是各自有序的,对数组al[0,num-1]的两个子有序段进行merge,得到al[0,num-1]整体有序。要求空间复杂度为O(1)。注:al[i]元素是支持'<'运算符的。

描述下我的解法:

首先假设两个数组都是从小到大排序的,要求的结果也是从小到大排序的;

两个有序数组al[0,mid-1]和al[mid,num-1],找到al[0,mid-1]的第一个大于al[mid]]的数al[i],用一个中间变量保存al[mid],并将整个数组从al[i]往后 移动一位,移好后把al[mid]值赋给al[i],紧接着再比较al[mid+1]如此往复直到最后,每次我们都可以始终保证al[0...i]部分有序。

代码:

#include<stdio.h>
const int n=9;
//后移
int* move(int* al,int start,int end){int temp;int i;temp=al[end];//保存开始元素 for(i=end;i>start;i--){al[i]=al[i-1];}al[start]=temp;return al;
}
int main(){int al[n]={0,2,5,9,3,4,9,10,11};int mid=n/2;//舍 int i=0,j=mid;for(;i<n && j<n;){if(al[i]<al[j]){i++;}else{move(al,i,j);i++;j++;}}for(i=0;i<n;i++){printf("%d ",al[i]);}
}

系统设计

两个200G大小的文件A和B,AB文件里内容均为无序的一行一个正整数字(不超过2^63),请设计方案,输出两个文件中均出现过的数字,使用一台内存不超过16G、磁盘充足的机器。
方案中指明使用java编程时使用到的关键工具类,以及为什么?

2012年百度实习生招聘——java开发相关推荐

  1. 2012年百度实习生招聘-java开发

    简答题 1.给一个单词a,如果通过交换单词中字母的顺序可以得到另外的单词b,那么b是a的兄弟单词,比如单词army和mary互为兄弟单词. 现在要给出一种解决方案,通过用户输入的单词,根据给定的字典找 ...

  2. 百度实习生招聘的一道大数据处理题目(上)

    题目为:两个200G大小的文件A和B,AB文件里内容均为无序的一行一个正整数字(不超过2^63),请设计方案,输出两个文件中均出现过的数字,使用一台内存不超过16G.磁盘充足的机器.方案中指明使用ja ...

  3. 2011百度实习生招聘笔试试题---软件测试—测试方向(BJ)

    2011百度实习生招聘笔试试题---软件测试-测试方向(BJ) 来源: 周广陵的日志 第一大题  简答题 1.extern"C"{}是什么,它能起到什么作用? 2.介绍两种经典设计 ...

  4. 中原银行java开发_2018中原银行校园招聘JAVA开发工程师公告

    省份不能为空 根据地区.银行订阅银行公告 银行出公告,及时通知到手机 选择省份 选择银行 公告一键订阅 × 接收订阅消息手机 发送 验证码: 确认 2018中原银行校园招聘JAVA开发工程师公告 来源 ...

  5. 优酷土豆java面试_优酷土豆校园招聘Java开发类笔试题目

    先总体说下题型,共有20道选择题,4道简答题,3道编程题和1道扩展题,题目都比较简单,限时一小时完成, 一.选择题 选择题非常简单,都是基础题,什么死锁发生的条件.HashMap和HashSet查找插 ...

  6. 北京丁丁租房招聘JAVA开发人员

    转载请注明出处:http://blog.csdn.net/xiaojimanman/article/details/50857618 http://www.llwjy.com/blogdetail/c ...

  7. 金蝶软件校园招聘Java开发工程师笔试面试情况分享

    一.笔试 形式:(单选+多选+填空+简答) 考的内容主要为java基础(包括java运行机制.数据类型转换.运算符表达式求值.多线程.异常处理等).css.js.数据库SQL基础.软件工程.设计模式等 ...

  8. 前端实习生笔试_百度实习生招聘笔试题-web前端开发

    百度的每个职位笔试题都不一样,我做的是 web 前端开发的题 一.简答题 1 . A . prototype.name 是什么含义,用来解决什么问题? 2 . javascript 的函数题,考一下应 ...

  9. 2015年百度春节招聘 java后台开发题目

    简答题: 1.html5的存储类型有什么差别? 2.tcp和udp的区别? 3.sql语句插入语法 4.多态是什么?请用c++来说明实现多态的方式 5.c数组的指针问题,指针的寻址 算法 1.编一个方 ...

最新文章

  1. AS3.0编程 So本地数据存储(“超级cookies”)--AS3:Local SharedObject
  2. python 空数组_从零开始学python之numpy
  3. 为什么数学的用途这么大?
  4. MATLAB数据处理快速学习教程
  5. python numba.jit 警告:cannot determine Numba type of class 'numba.dispatcher.LiftedLoop'(加速代码)
  6. AAAI 2022有哪些值得读的NLP相关论文?
  7. 函数①函数声明与表达式
  8. WinForm加载外部类库项目的集成开发模式
  9. 《算法导论》学习总结 — 21.第16章 贪心算法(1) 基础入门1
  10. vue从入门到进阶:简介(一)
  11. dabeicun 2013源码下载
  12. 马云背后的女人:原来淘宝、支付宝的名字都是她取的
  13. 程序员,别再无脑刷题了,这样学 Python,编程能力暴增!
  14. Word两端对齐问题
  15. python入门系列(4) -- python常见应用
  16. pyspark读取ES数据报array错误
  17. 1628 Pizza Delivery
  18. (转载)北京理工大学:《Python语言程序设计》____笔记整理
  19. c语言编写水仙花数代码
  20. 2021年全球公有云终端用户支出将增长18% ;EMNLP 2020最佳论文:无声语音的数字发声...

热门文章

  1. GD32F30x系列---看门狗基础配置
  2. i春秋 WEB 象棋
  3. LayaBox怎么添加定时器
  4. 视频录制不清楚、模糊解决办法
  5. 苹果6怎么截屏_iPhone怎么设置双击截屏 苹果手机双击截屏图文教程
  6. 防水行业在vivo投放广告有效果吗?vivo广告开户全国代理商!
  7. 持续使用KimJongRAT和PCRat发动攻击:BabyShark恶意软件分析
  8. 微信小程序学习笔记(1)基础入门
  9. 鱼眼镜头的标定及矫正
  10. expected declaration or statement at end of input