- 博客(3)
- 资源 (1)
- 收藏
- 关注
原创 求无序数组的(max+min)最大的子数组
题目意思就是,给出一个无序的数组,均为正数,要找一个子数组,使得该子数组内的最小值加上最大值能取到最大。 例子: 3 9 2 7 1 5 8 能取到的(max+min)最大的子数组为(5,8)。 仔细观察就能发现,求这个子数组的一个要点就是最小值的位置。如上面例子所示,最小值为 1,那么如果 1 被包含进子数组的话,最大也只能取到 1+max,这不如max加上另外任意一个
2012-10-27 00:08:46 648 1
原创 插入最少字符使得只含数字,+,(,)的算式合法化
比如输入 2(+(5+1( ) ,那么 2+(1+(5+1+(1))) 是一种解法。 注意:插入的也只能是这4种字符。 ( )非法,((12))合法 这里提供一个思路,就是首先处理括号,再处理其它;并且添加的括号只加在开头和结尾;这样做是基于以下的事实: 1. 在中间加入括号可能产生新的非法串,如 “)(” ,在首尾则不会; 2. 在中间加括号无法使得修改步数更少。 具体的,
2012-10-23 00:06:28 433
原创 N个鸡蛋放入M个篮子且能组合出1~N所有的数
貌似是一道面试题,要求篮子不能为空,且要求出所有可能的放法。 如8个鸡蛋放入4个篮子,可以放 1,1,2,4;也可以放 1,2,2,3。 分析: 不妨以递增的次序来排放鸡蛋,即若第一次放1个,第二次至少放1个。 在这个限制下,设前m个篮子放了n个鸡蛋,那么这m个篮子要能组合出1~n内的所有数。 反证法:假设无法凑出 x,有1 一定存在y 左边的
2012-10-17 15:36:05 1493
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人