由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - 请教一个面试题
相关主题
问个微软面试题问个面试题
向各位大侠请教几道面试题的思路问个google面试题
FB面试题一道的follow upsum of set difference min
贡献两个Amazon的电话面试题divide array into two, sum of difference is min in O(N)
大家看一下这道google面试题来做一个暴力题
问个google面试题哪里有讲k-way merge的?
求教一个onsite面试题目question about big data
The time complexity on finding the kth largest element in aGet first Greater in a array
相关话题的讨论汇总
话题: list话题: array话题: 30话题: 20话题: 25
进入JobHunting版参与讨论
1 (共1页)
f********c
发帖数: 147
1
在网上查面经看到的,好像在板上看到过,不过找不到了...题目如下(直接copy):

给一个list, list中有两个数. 过程中可以一直往list中加数进去(append在最后), 但
必须一直遵守三个条件:
1. list中所有数均需大于0
2. list中所有数都必须为unique
3. 新加入的数必须为已存在list中的某两数的差
要做的事情是把所有可能的过程(一直加到没办法加入新的数字为止)都给打印或是回传
ex. [30, 5], 则最新加入的数只能为25, list变为[30, 5, 25]
继续, 只能再加入20, list成为[30, 5, 25, 20], 接着就有两种选择, 可以加10(30-
20) 或是15(20-5).
于是会分出两个branch
[30, 5, 25, 20, 10] 跟[30, 5, 25, 20, 15], 然后再把最后一个可能补上之后变成
[30, 5, 25, 20, 10, 15]跟[30, 5, 25, 20, 15, 10], 所以就回传这两个list.

请大牛给了思路,多谢!
b**********5
发帖数: 7881
2
一个difference array
一个result array
每次更新 every element in the result array时, 更新corresponding difference
array
就是不知道你这个result, 是不是要保持order。 不包吃, 就hashmap, 保持, 也
可以用linkedhashmap

【在 f********c 的大作中提到】
: 在网上查面经看到的,好像在板上看到过,不过找不到了...题目如下(直接copy):
: “
: 给一个list, list中有两个数. 过程中可以一直往list中加数进去(append在最后), 但
: 必须一直遵守三个条件:
: 1. list中所有数均需大于0
: 2. list中所有数都必须为unique
: 3. 新加入的数必须为已存在list中的某两数的差
: 要做的事情是把所有可能的过程(一直加到没办法加入新的数字为止)都给打印或是回传
: ex. [30, 5], 则最新加入的数只能为25, list变为[30, 5, 25]
: 继续, 只能再加入20, list成为[30, 5, 25, 20], 接着就有两种选择, 可以加10(30-

f********c
发帖数: 147
3
如果加入一个新element到result array,如何可以高效的update difference array啊
?可以和之前的element一个个对比,但是感觉会很慢啊。最后result array的order要
保持的。

difference

【在 b**********5 的大作中提到】
: 一个difference array
: 一个result array
: 每次更新 every element in the result array时, 更新corresponding difference
: array
: 就是不知道你这个result, 是不是要保持order。 不包吃, 就hashmap, 保持, 也
: 可以用linkedhashmap

b**********5
发帖数: 7881
4
搞错了, 就一个difference array 就可以了。 然后我没觉得没有什么order啊。
我只能想到和之前的一个个对比, 我想不出更快的

【在 f********c 的大作中提到】
: 如果加入一个新element到result array,如何可以高效的update difference array啊
: ?可以和之前的element一个个对比,但是感觉会很慢啊。最后result array的order要
: 保持的。
:
: difference

f********c
发帖数: 147
5
好的,多谢了!

【在 b**********5 的大作中提到】
: 搞错了, 就一个difference array 就可以了。 然后我没觉得没有什么order啊。
: 我只能想到和之前的一个个对比, 我想不出更快的

C****t
发帖数: 53
6
We can order a = [5,30] first. The new added element will compare with a[0]
only, and be compared
with a[1:].
1 (共1页)
进入JobHunting版参与讨论
相关主题
Get first Greater in a array大家看一下这道google面试题
面试被拒,百思不得其解,求指点问个google面试题
一道面试题求解求教一个onsite面试题目
请教一道面试题The time complexity on finding the kth largest element in a
问个微软面试题问个面试题
向各位大侠请教几道面试题的思路问个google面试题
FB面试题一道的follow upsum of set difference min
贡献两个Amazon的电话面试题divide array into two, sum of difference is min in O(N)
相关话题的讨论汇总
话题: list话题: array话题: 30话题: 20话题: 25