avatar
请教一个面试题# JobHunting - 待字闺中
f*c
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.

请大牛给了思路,多谢!
avatar
b*5
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-

avatar
f*c
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

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

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

avatar
f*c
5
好的,多谢了!

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

avatar
C*t
6
We can order a = [5,30] first. The new added element will compare with a[0]
only, and be compared
with a[1:].
相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。