您的位置:首页 > 其它

【每天一道算法题】心情完全是-|sinx|状的正弦函数思密达 托腮。。。

2013-01-07 01:24 316 查看
这两天木有做题却存了几题,挑了一个看起来最有乐趣的~

烦躁的时候做个题能平静下来,是不是有点变态= =

这是一道微策略的笔试题:

输入一个数字组成的字符串,插入+,-或者空格,使得表达式结果为0

比如 123可以插入成 1+2-3

或者173956插入成 1 7+3 9-5 6

写出递归和非递归版本

思路:

看了题的第一感觉,感觉应该类似三叉树的搜索,用深度优先搜索可以找到某个使结果为0的表达式,但是复杂度达到了3 ^ ( n - 1 )。。。不科学

那么怎么简化或者说去除若干不可能的情形呢,如果前面的表达的绝对值大于后面连续的数字,就是比方前面的那个例子中:173+9 > 56 那么不论5和6之前插入什么都是不可能为0了,那么可以简化一部分搜索,但是本质上来说好像也没什么改进。。。

那好像可以用一下动规?虽然节省了重复的计算,但是还是要对于小规模的问题可能得到的各个值进行一番搜索,搜索的次数等于原先计算的次数,而且还浪费了空间。

怎么都想不出来。。。看来微策略是进不去了TAT,躺到床上再想一想。。。

据说12点以后睡是不要脸 3点以后睡是不要命 最近天天不要脸 偶尔不要命 faint
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: