1.给你一个two dimensional array, array的元素是0 或者1。问能不能找到一个矩形
,矩形的4个角都是1.
leetcode里面有类似的题,我给了类似的答案,复杂度是O(n^3),感觉面试官不是很满意。不知道有没有复杂度更少的算法。
2.有高矮不一的一群人,随机排列。排完之后每个人记下比自己前面比自己高的人的数目。之后把队打乱,跟据高度和比自己高的人的数目还原原来的队列。
我给了一个O(n^2)的算法,在算法群里讨论之后有牛牛说用线段树可以实现O(nlogn)的算法。
想法是这样,首先将所有人排个序,从小到大,从最矮的开始往园数组插,
对于位置在原数组位置x的人,他前面有n个人比他高,而比他矮的人都已经放到位了,比他高的人都还没放,所以我们就数空位从前数n个,已经放了人的地方跳过,那就得到x了。
但是这样的做法是n^2(在放数找位置这一步需要O(n)的时间)有人提如果用interval tree存空格的话找到第K个空格只需要O(lgn)时间,那么总的复杂度就是O(nlogn)。
Interval tree 找第k个空格的用法
Every node stores the number of open spaces at its range, we will be able to locate the kth empty space in lgn time (the above image has node that stores the minmum element of the range, we change that to the number of free spaces, and update corresponding spaces when every we do insert).
From:
https://hellosmallworld123.wordpress.com/2014/04/18/google%E4%B8%A4%E9%81%93%E9%A2%98/
相关推荐
1. **递归问题解决**:在第一道面试题中,涉及的是一个逻辑推理和递归的问题。妻子们需要通过观察其他丈夫的行为来判断自己的丈夫是否偷情。这个问题展示了递归思维的应用,即解决问题的过程可以分解为更小的相同或...
Google面试题集锦 在当今社会,Google作为全球顶尖的科技公司,其招聘流程和面试题一直备受业界关注。公司的面试流程设计严谨,面试题目覆盖面广泛,既考察应聘者的基本技术知识,又深挖其逻辑思维能力、创造力以及...
根据给定的信息,我们可以将这些经典的Google面试题分解为几个主要的知识点进行详细的解析: ### 1. 解密等式问题 **知识点:** - 数学逻辑与代数方程求解 - 字符串处理与算法设计 **解析:** 这道题目要求解一个...
### Google面试题解析 #### 一、一辆校车能装下多少个高尔夫球? **职位:** 产品经理 **解析:** 这类问题考察应聘者的逻辑思维能力和数学估算能力。解题步骤如下: 1. **估计尺寸:** 先估计一辆标准校车的...
本文将根据提供的资料,详细解析几道谷歌笔试题,包括它们的背景、题目要求、解题思路以及可能涉及的知识点。 #### 二、题目分析 ##### 1. 在排序二叉树中查找特定值 **题目描述**:给定一棵排序二叉树,设计一个...
### 微软、谷歌、百度等公司经典面试100题[第101-170题]知识点总结 #### 微软十五道面试题详解 **1. 整数数组两两之差绝对值最小值** - **题目描述**:给定一个整数数组,请求出两两之差绝对值最小的值。 - **...
这道Google竞赛题目是关于在一个字母网格中寻找给定单词的路径数量的问题。题目要求从网格中的任何位置开始,沿着上、下、左、右或对角线方向移动,可以重复使用网格中的字母,但不能连续停留在同一格子内。目标是...
本文将基于“关于Go、Python100道题”的主题,深入探讨这两门语言的核心概念、语法特性以及在实际应用中的问题。 首先,让我们聚焦Python。Python以其简洁易读的语法和丰富的库支持,广泛应用于数据科学、机器学习...
16道C语言面试题例子 死循环(Infinite loops) 数据声明(Data declarations) 位操作(Bit manipulation) 访问固定的内存位置(Accessing fixed memory locations) 中断(Interrupts) 代码例子(Code examples...
1. **高尔夫球填满校车**(产品经理):这道题主要测试逻辑推理和估算能力。解题思路涉及体积计算,空间利用,以及对现实情况的合理假设。通过估算校车和高尔夫球的体积,可以得出理论上的最大填充数,但实际填充数...
三个更新点,做数学题是重点 为了让用户更方便地了解 Bard 更新变化,Google 上线了 experiment updates(实验更新)界面,展示 Bard 的最新消息。 相比其他厂商“提高系统稳定性,优化系统流畅度”的更新对联,...
Android是谷歌主导的移动操作系统,其核心特性之一就是四大组件,包括Activity、Service、BroadcastReceiver和ContentProvider。这些组件构成了Android应用程序的基础架构。 1. **Activity**:Activity是用户界面的...
描述中提到的“涵盖了140道题”意味着这是一个相当全面的题库,涵盖了各种类型的面试问题。这140道题目可能包括但不限于数据结构、算法分析、操作系统、网络、数据库、软件工程、项目管理、产品设计以及人际交往等...
解答:这道题旨在考察产品经理对法规和产品适用性的理解。尽管可以进行数学计算,但正确的答案是校车不能用于装载高尔夫球,因为它违反了交通法规,不符合产品定位。 2. 问题:如果让你清洗西雅图市所有的窗户,你...
IT各类面试题 google百度北电华为腾讯试题及面试 网络工程师面试题 java软件工程师面试试题集合 130道ASP[1] NET面试题 软件工程面试题 数据库面试笔试题集 数据结构面试大全 JAVA面试题
10. **云计算与大数据**:云计算的基本概念(IaaS、PaaS、SaaS)、云计算服务提供商(AWS、Azure、Google Cloud),大数据处理技术(Hadoop、Spark)。 通过这些试题的学习和解答,你可以巩固计算机基础知识,提升...
- 题目3: 这道题考察了函数参数传递。函数f()改变了传入的字符指针的值,但由于主函数中a和b是局部变量,它们的值不会改变。因此,输出是原始的a和b值,即'A'和'a',答案是C。 - 题目4: 二叉搜索树(BST)的性质...
【谷歌笔试题解析】 在谷歌的笔试中,经常会遇到各种挑战性的编程问题,旨在测试候选人的逻辑思维和算法设计能力。以下是对所提及的几道题目的详细解析: 1. **计算1的个数** 这道题目要求编写一个函数,计算从1...