百度笔试题【hao】

 

一、 

1、设计一个栈的结构,要求实现一个min函数,返回栈中最小的元素。要求minpushpop操作都必须是O(1)的时间复杂度,简单描述思想。 

2.(1)输出下面程序的前7行并且说明数列表示的含义 

      (2)下面的程序是否存在安全隐患?原因是? 

#include<stdio.h> 

#include<string.h> 

const int MAX = 128; 

const int LEN = 20; 

int main(){ 

char str[MAX]="1"; 

char tem_str[MAX]=""; 

char buf[MAX]=""; 

printf("%s/n",str); 

int i; 

for(int line=1;line<=LEN;line++){ 

  strcpy(tem_str,str); 

  str[0]='/0'; 

  for(i=0;tem_str[i]!=0;++i){ 

   char ch=tem_str[i]; 

   int count = 1; 

   for(;tem_str[i+1]==tem_str[i];++i) 

    count++; 

   sprintf(buf,"%d%c",count,ch); 

   strcat(str,buf); 

  } 

  printf("%s/n",str); 

return 0; 

3、分析线性表、二叉平衡树和哈希表在存储数据的时候,各有什么优劣? 

 

二、 

1、有一串首尾相连的珠子,共有m个,每一个珠子有一种颜色,并且颜色的总数不超过n(n<=10),求连续的珠子的颜色总数为n时,长度最小的区间。可简述思路或者给出伪代码,并且给出时间和空间复杂度分析。 

 

2、实现函数strnumcmp,和strcmp类式,不过有一点区别是在字符串包含数字的地方,按照数字的大小进行排序。比如 

abc<abc#<abc1<abc2<abc10<abcd 

而正常的顺序为 

abc<abc#<abc1<abc10<abc2<abcd 

请实现strnumcmp,给出完整代码。要求简单、明确。 

三、 

           大规模的字典中,需要词与此中间的搭配关系。 

1       字典中的项为辞与词之间的搭配,比如两个词“今天”和“晚上”有两个搭配,今天|晚上 和晚上|今天。 

2       字典的规模为10W数量级。 

3       每一个词,最多能和其他1W左右的词进行搭配。 

4       这个系统中有大量的读操作,大约每秒1000次,但是很少有写操作。 

设计一个字典服务系统,能够满足上述的要求,并且给出占用的资源,最后估算出需要的机器资源。 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值