`
sean2012
  • 浏览: 46111 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

腾讯面试题

阅读更多
2013年腾讯招聘实习生笔试题

已知数组a[N],求数组b[N].
要求:b[i]=a[0]*a[1]*……*a[N-1]/a[i],不能用除法。
1.时间复杂度O(n),空间复杂度O(1)。
2.除了迭代器i,不允许使用任何其它变量(包括栈临时变量等)


这个题目比较有意思,个人兴趣,把此题实现了一下,欢迎大家批评指正!





根据绘制的这个图可以看出,由于不能用除法,那么就表示灰色数据是不能乘;很明显灰色区域把数据分成了两部分,上三角和下三角;这样我们就可以使用两个单层循环,一个计算下三角每行的值,另一个计算上三角的每行的值;

关键点
下三角:
¥上一行的积乘以当前下三角行的最后一个元素便是当前下三角行的结果;
b[i]=b[i-1]*a[i-1];


上三角:
¥上三角下一行的积乘以当前上三角行最前面的一个元素,再乘以下三角行当前行的数据,就是最终当前行的结果。(有点绕,需要仔细的体会一下)
b[i] = b[i] * a[i + 1];
a[i] = a[i + 1] * a[i];


因此根据这个推理,这个题目就被解答了:
代码实现如下:

public class Test {
	public static void main(String[] args) {
		int N = 5;
		int[] a = new int[] {2, 4, 6, 8, 10 };
		int[] b = new int[N];
		b[0] = 1; //初始化b[0]
		// 下三角
		for (int i = 1; i <= N - 1; i++) {
			b[i] = b[i - 1] * a[i - 1];

		}
		// 上三角
		for (int i = N - 2; i >= 0; i--) {
			b[i] = b[i] * a[i + 1];
			a[i] = a[i + 1] * a[i];
		}
		System.out.println("b数组的内容为:");
		for (int i = 0; i < N; i++) {
			System.out.println("b[" + i + "]=" + b[i]);
		}
	}
}

  • 大小: 11.1 KB
分享到:
评论

相关推荐

    腾讯面试题解析.pdf

    腾讯面试题解析.pdf 本资源是一份详细的腾讯面试题解析文档,涵盖了 Android 面试题、网络基础、常用三方库、算法基础等多个方面的知识点。下面是对该文档的详细解析: 计算机基础面试题 在计算机基础面试题部分...

    腾讯面试题 + 笔试题(全)

    《腾讯面试题与笔试题详解》 在求职的道路上,面试和笔试是必不可少的环节,尤其是对于技术人才来说,能够顺利通过大公司的面试更是彰显个人实力的重要标志。本压缩包包含两份珍贵的资料——“腾讯笔试题专辑(含...

    腾讯面试题笔试题

    ### 腾讯面试题笔试题解析 #### 领域背景 在IT行业中,面试题目不仅是对求职者技能的一种考验,也是企业筛选合适人才的重要工具。本篇将基于提供的标题、描述、部分问题及其答案,深入分析这些知识点,帮助读者更...

    2024最新C语言面试题大汇总附答案-华为阿里腾讯面试题.pdf

    2024最新C语言面试题大汇总[附答案]-华为阿里腾讯面试题.pdf

    网易腾讯面试题精选-90道设计模式面试题及答案

    ### 网易腾讯面试题精选-90道设计模式面试题及答案 #### 设计模式概述 设计模式是软件工程领域中一个重要的概念,它为开发者提供了针对常见设计问题的有效解决方案。通过学习和理解设计模式,开发者可以更好地解决...

    阿里面试题 腾讯面试题 百度面试题 华为面试题 京东面试题 头条面试题 经典面试题 程序员 IT经理 项目经理 面试题

    阿里面试20题 百度面试10题 华为面试10题 京东面试13题 腾讯面试37题 头条面试10题 项目经理面试常遇问题 经典面试题 程序员 IT经理 项目经理 面试题 研发经理 高级程序员 经典面试题

    腾讯面试题汇编.pdf

    腾讯面试题汇编.pdf 以下是从给定的文件中生成的相关知识点: 1. 宏定义:定义一个宏,比较两个数 a、b 的大小,不能使用大于、小于、if 语句。这考察了候选人的宏定义能力和逻辑思维能力。 知识点:宏定义、条件...

    前端面试题(包括百度阿里腾讯面试题).txt

    网盘下载pdf文件,包括常见前端面试题汇总,百度、阿里、腾讯校招面试题汇总,网盘下载pdf文件,65个文件

    腾讯PHP面试题_腾讯php面试题_

    最新腾讯PHP面试题1. php 的垃圾回收机制 PHP 可以自动进行内存管理,清除不需要的对象。 PHP 使用了引用计数 (reference counting) GC 机制。 每个对象都内含一个引用计数器 refcount,每个 reference 连接到对象,...

    华为,腾讯面试题c++

    华为和腾讯最近的面试题,有答案和解析。看看考什么。 c/c++

    腾讯面试题及面试经历(技术工程师类)

    从给定的文件信息中,我们可以提炼出与腾讯技术工程师面试相关的多个关键知识点,这些知识点不仅涵盖了面试的具体题目,还涉及了应聘者在准备过程中的策略、态度以及面试官可能关注的能力点。以下是对这些知识点的...

    一道腾讯面试题

    这道2011年腾讯校招的面试题虽然没有明确的问题描述,但从标签中我们可以推测,它可能涉及C++、.NET、Java这三种编程语言中的某一方面,或者是关于算法设计与分析。面试题通常旨在考察候选人的思维能力、编程基础...

    腾讯2013面试题

    2013年的腾讯面试题,反映了当时的行业趋势和技术热点,同时也揭示了腾讯对人才的需求和期望。下面,我们将深入探讨这些面试题所涵盖的多个技术领域。 一、编程基础 1. 数据结构:面试中常见的数据结构问题包括数组...

    微软、谷歌、IBM、腾讯面试题

    网上搜集的一些各大公司的面试题,微软、谷歌、IBM、腾讯。

Global site tag (gtag.js) - Google Analytics