1、正整数序列Q中的每个元素都至少能被正整数a和b中的一个整除,现给定a和b,需要计算出Q中的前几项,例如,当a=3,b=5,N=6时,序列为3,5,6,9,10,12
(1)、设计一个函数void generate(int a,int b,int N ,int * Q)计算Q的前几项
(2)、设计测试数据来验证函数程序在各种输入下的正确性。

C++实现:

  1. #include<iostream>
  2. using namespace std;
  3.  
  4. void generate(int a,int b,int N,int *Q)
  5. {
  6. int qa=;
  7. int qb=;
  8. int index=;
  9. while(index<N)
  10. {
  11. if(a*qa<b*qb)
  12. {
  13. Q[index++]=a*qa;
  14. qa++;
  15. }
  16. else if(a*qa>b*qb)
  17. {
  18. Q[index++]=b*qb;
  19. qb++;
  20. }
  21. else
  22. {
  23. Q[index++]=a*qa;
  24. qa++;
  25. qb++;
  26. }
  27. }
  28. }
  29.  
  30. int main()
  31. {
  32. int *Q=new int[];
  33. generate(,,,Q);
  34. for(int i=;i<;++i)
  35. cout<<Q[i]<<' ';
  36. cout<<endl;
  37. }

变形,如果只包含数a和b,实现代码:

  1. #include<iostream>
  2. using namespace std;
  3.  
  4. void generate(int a,int b,int N,int *Q)
  5. {
  6. if(Q==NULL)
  7. return;
  8. int index=;
  9. Q[]=;
  10. int *qa=Q;
  11. int *qb=Q;
  12. while(index<=N+)
  13. {
  14. int minvalue=min(*qa*a,*qb*b);
  15. Q[index]=minvalue;
  16. while(*qa*a<=minvalue)
  17. qa++;
  18. while(*qb*b<=minvalue)
  19. qb++;
  20. ++index;
  21. }
  22. }
  23.  
  24. int main()
  25. {
  26. int *Q=new int[];
  27. generate(,,,Q);
  28. for(int i=;i<;++i)
  29. cout<<Q[i]<<' ';
  30. cout<<endl;
  31. }

2、有一个由大小写组成的字符串,现在需要对他进行修改,将其中的所有小写字母排在答谢字母的前面(大写或小写字母之间不要求保持原来次序),如有可能尽量选择时间和空间效率高的算法 c语言函数原型void proc(char *str) 也可以采用你自己熟悉的语言。

  1. #include<iostream>
  2. #include<cstring>
  3. #include<ctype.h>
  4. using namespace std;
  5.  
  6. void swap(char *a,char *b)
  7. {
  8. char c=*a;
  9. *a=*b;
  10. *b=c;
  11. }
  12. void proc(char *str)
  13. {
  14. if(str==NULL)
  15. return;
  16. int n=strlen(str);
  17. int i=,j=n-;
  18. while(i<j)
  19. {
  20. while(i<j&&islower(str[i]))
  21. ++i;
  22. while(i<j&&isupper(str[j]))
  23. --j;
  24. if(i<j)
  25. swap(&str[i],&str[j]);
  26. }
  27. }
  28.  
  29. int main()
  30. {
  31. char ch[]="AHdfhIKhhGkGE";
  32. proc(ch);
  33. cout<<ch<<endl;
  34. }

3、如何随机选取1000个关键字?
给定一个数据流,其中包含无穷尽的搜索关键字(比如,人们在谷歌搜索时不断输入的关键字)。如何才能从这个无穷尽的流中随机的选取1000个关键字?

http://www.xuebuyuan.com/551780.html

http://ask.julyedu.com/question/447

Google 历年笔试面试30题的更多相关文章

  1. 剑指offer 面试30题

    面试30题: 题目:包含min函数的栈 题:定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数.在该栈中,调用min.push.pop的时间复杂度都是O(1) 解题思路:1)如果每次 ...

  2. 【白嫖】IT笔试面试真题讲解系列文章+视频

    视频讲解IT公司面试的高频考题~ 持续更新中,欢迎点赞转发~ 干货|名企高频考点指令篇-查看Linux硬盘空间使用情况 干货 | 名企高频考点指令篇-Linux查看CPU内存和系统版本 干货 | 名企 ...

  3. 那些不能遗忘的知识点回顾——C/C++系列(笔试面试高频题)

    有那么一些零碎的小知识点,偶尔很迷惑,偶尔被忽略,偶然却发现它们很重要,这段时间正好在温习这些,就整理在这里,一起学习一起提高!后面还会继续补充. ——前言 1.面向对象的特性 封装.继承.多态. 封 ...

  4. 找工作笔试面试那些事儿(8)---常问的CC++基础题

    这一部分是C/C++程序员在面试的时候会被问到的一些题目的汇总.来源于基本笔试面试书籍,可能有一部分题比较老,但是这也算是基础中的基础,就归纳归纳放上来了.大牛们看到一笑而过就好,普通人看看要是能补上 ...

  5. 数据结构+算法面试100题~~~摘自CSDN

    数据结构+算法面试100题~~~摘自CSDN,作者July 1.把二元查找树转变成排序的双向链表(树) 题目:输入一棵二元查找树,将该二元查找树转换成一个排序的双向链表.要求不能创建任何新的结点,只调 ...

  6. Java面试题精选(三) JSP/Servlet Java面试逻辑题

    --   JSP/Servlet  Java面试逻辑题   --     很显然,Servlet/JSP的WEB前端动态制作的重要性比HTML/CSS/JS的价值高很多,但我们都知道他们都是建立在HT ...

  7. leetcode 刷500道题,笔试/面试稳过吗?谈一谈这些年来算法的学习

    想要学习算法.应付笔试或者应付面试手撕算法题,相信大部分人都会去刷 Leetcode,有读者问?如果我在 leetcode 坚持刷它个 500 道题,以后笔试/面试稳吗? 这里我说下我的个人看法,我认 ...

  8. C++面试高频题

    作者:守望者1028链接:https://www.nowcoder.com/discuss/55353来源:牛客网 面试高频题: 校招过程中参考过牛客诸位大佬的面经,但是具体哪一块是参考谁的我也忘记了 ...

  9. (转载)Autodesk面试技术题解答

    Autodesk面试技术题解答 By SmartPtr(http://www.cppblog.com/SmartPtr/)          近一年以来,AUTODESK的面试题在网上是闹的沸沸扬扬, ...

随机推荐

  1. 关于HSTS的总结

    访问http网站,和服务器交互的步骤浏览器向服务器发起一次HTTP请求服务器返回一个重定向地址浏览器在发送一次HTTPS请求,得到最终内容 上面浏览器发送http请求后容易被拦截,使用HSTS后可以避 ...

  2. 数据是ERP系统搭建的基础,但,不要让数据毁了ERP

    很难想象没有数据的ERP是什么样子的.然而,实际情况又是如何的呢? 根据AMT的研究,在那些上线不成功或者上线后掉线的案例中,有高达70%的项目都有一个共同的直接原因,那就是在数据上出了问题.有的是在 ...

  3. OkHttp2.0有Bug,暂时不推荐在产品中使用

    版权声明: 欢迎转载,但请保留文章原始出处 作者:GavinCT 出处:http://www.cnblogs.com/ct2011/p/4078137.html 之前在博客里推荐使用OkHttp来替换 ...

  4. android设计的布局在阿拉伯语下界面错乱的解决方法

    (1)正在AndroidManifest.xml声明文件的application元素中,增加” android:supportsRtl=true” (2)建] androidの设计的布局在阿拉伯语下界 ...

  5. phpAdmin修改密码后拒绝访问

    [phpMyadmin没配置正确] 解决方法: 1.打开 phpMyadmin 目录找到config.inc.php文件2.查找到$cfg['Servers'][$i]['password']=''3 ...

  6. 单机安装hive和presto

    问题: 公司最近在搞presto,主要是分析一下presto和hive的查询大数据量的性能对比: 我先把我的对比图拿出来(50条数据左右)针对同一条sql(select * from employee ...

  7. centos7 部署 汉化版 gitlab 10.0.2

    更新说明: 20171009:增加3.5的内容 20171008:整理出gitlab部署手册 =============================================== gitla ...

  8. 转 Ubuntu Linux 环境变量PATH设置

    Ubuntu Linux系统环境变量配置文件: /etc/profile : 在登录时,操作系统定制用户环境时使用的第一个文件 ,此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行. ...

  9. oracle使用索引和不使用索引性能分析

    首先准备一张百万条数据的表,这样分析数据差距更形象! 下面用分页表数据对表进行分析,根据EMP_ID 字段排序,使用索引和不使用索引性能差距! sql查询语法准备,具体业务根据具体表书写sql语法: ...

  10. AFNetworking2.0简易GET,POST请求封装以及使用

    AFNetworking2.0简易GET,POST请求封装以及使用 AFNetworking不用我赘述其强大性,本人仅仅做了非常简易的封装,解决了有时候请求出错的问题,提供源码给大家. 封装源码库下载 ...