已知数组a[n],求数组b[n].要求:b[i]=a[0]*a[1]*……*a[n-1]/a[i],不能用除法。
a.时间复杂度O(n),空间复杂度O(1)。 b.除了迭代器i,不允许使用任何其它变量(包括栈临时变量等)
    时间复杂度限制了算法的编写,不过可以用前累乘,后累乘,两边再乘OK。
#include <stdio.h>
#include <stdlib.h>
#define N 10
int main(){int a[N], b[N], i;for(i = 0; i < N; i++){a[i] = i + 1;}b[0] = 1;for(i = 1; i < N; i++){b[i] = b[i - 1] * a[i - 1]; //前累乘}for(i = N - 2; i > 0; i--){a[i] = a[i + 1] * a[i]; //后累乘}for(i = 0; i < N - 1; i++){b[i] = b[i] * a[i + 1];printf("%d ", b[i]);}printf("\n");return 0;
}

这个解法把a数组里面的数据修改了,如果下次要用,就不行了。换中间变量用用。

#include <stdio.h>
#include <stdlib.h>
#define N 10
int main(){int a[N], b[N], i;for(i= 0; i < N; i++){a[i]= i + 4;}b[0]= 1;for(i= 1; i < N; i++){b[i] = b[i - 1] * a[i - 1];//前累乘}for(i = N - 2; i > 0; i--){b[0] *= a[i + 1]; //用b[0]当中间变量b[i]*= b[0];}b[0] *= a[1];for(i = 0; i < N; i++){printf("%d ", b[i]);}return 0;
}

2012年腾讯实习生笔试附加题相关推荐

  1. 梅氏砝码(2014腾讯实习笔试附加题)

    原题大意:用4个砝码称出重量在1到40克内的钻石,这4个砝码分别多重(钻石重量为整型). 解法:梅氏砝码. 前提:因为砖石重量在[1,40],因此砝码可以称出的重量必须是一个连续的区间. 假设第i个砝 ...

  2. 2012年奇虎360校园招聘实习生笔试编程题

    2012年奇虎360校园招聘实习生笔试编程题 1.  自己实现库函数 int atoi(const char* str);  注意两点:(1). 字符串中,符号位的处理. (2).字符串中,出现非数字 ...

  3. 2016年腾讯产品笔试真题

    2016年腾讯产品笔试真题     [尊重原创,转载请注明出处]http://blog.csdn.net/guyuealian/article/details/51154308

  4. 2016阿里巴巴校园招聘测试开发工程师笔试附加题(含部分答案)

    附加题-2016校招-测试开发工程师 1.一个英文句子,去掉空格和所有标点符号得到一个字符串.给定一个包含各种单词的字典,请编写程序,将该字符串用空格重新按单词分开(不考虑标点符号),并给出测试用例验 ...

  5. 2019美团机器学习/数据挖掘算法实习生笔试 编程题修改矩阵

    主要用于交流思考 1.修改矩阵 时间限制:C/C++语言 1000MS:其他语言 3000MS 内存限制:C/C++语言 65536KB:其他语言 589824KB题目描述: 我们称一个矩阵为黑白矩阵 ...

  6. 百度2015春季实习生招聘附加题

    题目链接:http://www.nowcoder.com/test/question/analytic?tid=1470549 [编程题] 今天要吃点好的! 加班了一个通宵的度度熊,神经有点恍惚,想到 ...

  7. 2017阿里校招笔试附加题2 菜鸟仓库货架编号问题

    推荐一下个人博客 题目简述: 仓库编号为0-9整数 以下为一示例: 1|12|123|1234|12345|--|12345678910111213141516|- 每一个整数代表一个格子,现给出一格 ...

  8. 网易2018实习生笔试编程题

    牛牛的闹钟 时间限制:1秒 空间限制:32768K 牛牛总是睡过头,所以他定了很多闹钟,只有在闹钟响的时候他才会醒过来并且决定起不起床.从他起床算起他需要X分钟到达教室,上课时间为当天的A时B分,请问 ...

  9. 京东2015实习生笔试编程题

    小米Git git是一种分布式代码管理工具,git通过树的形式记录文件的更改历史,比如: base'<–base<–A<–A' ^ | - B<–B' 小米工程师常常需要寻找两 ...

  10. 2014腾讯实习生笔试题——define与typedef

    2014腾讯实习生笔试(广州站)第26题填空题: #define MAX_NUM 1000+1 int Temp = Max_NUM*10; 则Temp的值为( ) 答案是:1010, 由于宏定义仅仅 ...

最新文章

  1. 美国国防部将把人工智能用于空战
  2. 博客园添加访问次数统计
  3. 穷举n位二进制数 (深搜、回溯_子集树)
  4. python教程怎么读_python怎么读二进制文件
  5. python3 分割函数 partition rpartition 函数
  6. JQuery Event属性说明
  7. SparkSQL(Spark-1.4.0)实战系列(一)——DataFrames基础
  8. Android -- Looper.prepare()和Looper.loop() —深度版
  9. 频繁项集-------产生强关联规则的过程
  10. 【Linux】编译C语言文件(-o -lpthread)
  11. 值类型和引用类型的区别
  12. Spring Boot文档阅读笔记-exception handling–@ExceptionHandler解析与实例
  13. Java前端技术汇总
  14. 计算机编程 常用术语英语词汇大全 记忆
  15. 小程序pdf预览插件_微信小程序中预览 PDF 文档
  16. 一个迅雷480M,是搞笑的吗?
  17. 电脑硬盘分区不见了怎么恢复数据?
  18. 划片机是芯片切割制造流程中一个重要的环节
  19. 5、LiveCharts--简介(一)
  20. [Introduction to programming in Java 笔记] 1.3.8 Gambler's ruin simulation 赌徒破产模拟

热门文章

  1. Git 奇淫技巧:Github ID 更名奇遇记
  2. struts2+quartz定时任务
  3. Python从入门到实践-第三章习题
  4. java 用0部补位_java 用0部补位
  5. 用go编写区块链系列之7--网络
  6. 服务器更换损坏硬盘,更换一批服务器损坏硬盘
  7. 算法套路学习之回溯算法-----子集,排列,组合等问题如何解决
  8. 二维平面上线段与直线位置关系的判定
  9. 判定重大风险有哪几种_重大危险源判定
  10. 开环传递函数判断系统类型_已知系统的开环传递函数,试用Nyquist稳定判据判断系统的稳定性。_学小易找答案...