Redian新闻
>
一道面试题,觉得有更优化解
avatar
一道面试题,觉得有更优化解# JobHunting - 待字闺中
r*o
1
Given a target number and a set of numbers, using only addition,
multiplication, division and subtraction and the set of numbers get as near
to the target as possible
楼主想到的一个解法是用5向递归。具体代码怎么factor才简洁不知道~
function : void getNearest(numbers,target,tempTarget,path,re,visited)
base case :
tempRe = target;

getNearest( .. ,target/current, ...)
getNearest( .. ,target*current, ...)
getNearest( .. ,target+current, ...)
getNearest( .. ,target-current, ...)
getNearest( .. ,target, ...)
呵呵,欢迎大家讨论更简洁的算法!
avatar
s*z
2
可以递归的都可以保存状态, 推荐用DP~~~
avatar
l*8
3
数字可以重用吗?

near

【在 r**********o 的大作中提到】
: Given a target number and a set of numbers, using only addition,
: multiplication, division and subtraction and the set of numbers get as near
: to the target as possible
: 楼主想到的一个解法是用5向递归。具体代码怎么factor才简洁不知道~
: function : void getNearest(numbers,target,tempTarget,path,re,visited)
: base case :
: tempRe = target;
:
: getNearest( .. ,target/current, ...)
: getNearest( .. ,target*current, ...)

avatar
a*0
4
dp找钱那题的引申吧

near

【在 r**********o 的大作中提到】
: Given a target number and a set of numbers, using only addition,
: multiplication, division and subtraction and the set of numbers get as near
: to the target as possible
: 楼主想到的一个解法是用5向递归。具体代码怎么factor才简洁不知道~
: function : void getNearest(numbers,target,tempTarget,path,re,visited)
: base case :
: tempRe = target;
:
: getNearest( .. ,target/current, ...)
: getNearest( .. ,target*current, ...)

avatar
x*n
5
It seems that more constraints will be needed.
Otherwise, the below recursion is infinite:
function : void getNearest(numbers,target,tempTarget,path,re,visited)
base case :
tempRe = target;

getNearest( .. ,target/current, ...)
getNearest( .. ,target*current, ...)
getNearest( .. ,target+current, ...)
getNearest( .. ,target-current, ...)
getNearest( .. ,target, ...) <========== Infinite recursion
avatar
b*m
6
RE
如果数字可以重用,需要动态规划
否则可以用DFS

【在 l*********8 的大作中提到】
: 数字可以重用吗?
:
: near

avatar
x*0
7
m
avatar
r*c
8
这个比较厉害,要求是就最优解然后最小复杂度?
avatar
g*g
9
乘除运算优先加减,人家没有提可以加括号。这个递归就不对了
avatar
l*1
10
感觉除了brute force, 真想不出还有更好的方法了
avatar
g*g
11
正解

【在 l****1 的大作中提到】
: 感觉除了brute force, 真想不出还有更好的方法了
相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。