There is integer array like {1,2,4,5,6,1,2,4,3,5,7,2,1}. I want to find the possible combination of pair which sum is 4.
input : {1,2,4,5,6,1,2,4,3,5,7,2,1}
output : {1,1,2}, {2,2}, {3,1}, {1,2,1}...etc which make the sum as 4
该类型问题的解法见 wiki,比较复杂
http://en.wikipedia.org/wiki/Subset_sum_problem
code sample (passed testing) 该解法是暴力法,即递归求出所有可能的组合
import java.util.ArrayList;
import java.util.Arrays;
public class Test
{
public static void main(String[] args)
{
int[] theArray={1,2,4,5,6,1,2,4,3,5,7,2,1};
ArrayList<ArrayList<Integer>> allpairs=getPairs(theArray,0,4);
System.out.println(allpairs.size());
for(ArrayList<Integer> pair:allpairs)
{
System.out.println(Arrays.toString(pair.toArray()));
}
System.out.println("Complete the testing work!");
}
public static ArrayList<ArrayList<Integer>> getPairs(int[] theArray, int start, int sum)
{
if(sum==0)
{
ArrayList<ArrayList<Integer>> pairs=new ArrayList<ArrayList<Integer>>();
ArrayList<Integer> pair=new ArrayList<Integer>();
pairs.add(pair);
return pairs;
}
if(start>=theArray.length)
{
return null;
}
ArrayList<ArrayList<Integer>> pairs=new ArrayList<ArrayList<Integer>>();
//situation 1 include the start element;
ArrayList<ArrayList<Integer>> subpairs=getPairs(theArray,start+1,sum-theArray[start]);
if(subpairs!=null)
{
for(ArrayList<Integer> subpair:subpairs)
{
ArrayList<Integer> pair=new ArrayList<Integer>();
if(pair!=null)
{
pair.add(theArray[start]);
pair.addAll(subpair);
pairs.add(pair);
}
}
}
//situation 2 do not include the start element;
ArrayList<ArrayList<Integer>> otherpairs=getPairs(theArray,start+1,sum);
if(otherpairs!=null)
{
for(ArrayList<Integer> otherpair:otherpairs)
{
pairs.add(otherpair);
}
}
return pairs;
}
}
2:
转化一下,
There are two sorted arrays A and B of size m and n respectively. Find the median of the two sorted arrays. The overall run time complexity should be O(log (m+n)).
有两个数组,如何求两个数组的中间值?
找到一篇文章,慢慢读之:
http://www.leetcode.com/2011/03/median-of-two-sorted-arrays.html
相关推荐
真题是网络上搜索的,我2天前才去考,3小时的题,69道需要答对70%,我花了20分钟,答对67道。...网上目前的真题,主要就是这239道,另外一套270道左右的,只是有一些题反复出现而已,但是没有新题。
MCSE 70-410题库一份,建议不要只记得答案而已,这套题也有几道题的答案不是很确定。
1. 第一道题考察的是字词的读音。选项中涉及的字词包括“孥(nú)”、“只(zhī)”、“省(xǐng)”、“怙(hù)”、“衔(xián)”、“乘(shèng)”、“薨(hōng)”、“婢(bì)”、“飨(xiǎng)”、...
其实我个人感觉这道题很散,都是找一些规律进行总结统计,最多结合一些机器学习算法进行预测拟合之类的 我刚开始用matlab,后来发现python搞比较顺畅点,所以主要都是python写的 在code1文件夹中,存有main.mlx、...
根据我们经验一般2-3年才会变动,所谓的变动也是在原基础上增加些新题而已。 3. ccna考试对报考人员有限制么?答:美国思科认证ccna ccnp ccie属于国际考试,也是商务考试。没有培训要求,不培训也可以直接考的,...
24. [D] 文章的最后一段the driver will use a telephone to dial instructions about his destination into system说明本题的答案为D,即在计算机监控系统下,司机所做的不过是通过电话告诉系统自己的目的地而已。...
墨家主张“非乐”,法家认为华丽是掩盖丑陋的手段,儒家则包含了“节用”和“辞达而已矣”的观念,这些思想进一步巩固了朴素美学的地位。 5. 朴素美的普遍意义:朴素为美不仅是美学观点,还被引入政治风格和道德...
文档中的每一道题目都是由数字和空格组成,空格表示待填充的数字,而已给出的数字则帮助玩家推理出正确答案。 数独的解决策略通常包括以下几个步骤: 1. 观察:首先扫描整个网格,找出已经填好的数字,尤其是那些...
3. 高一语文测试题涉及的文言词汇和语法知识,如“名我固当”中的“名”字用作动词,意为命名;“故吾不害其长而已”中的“故”表示原因,意为因为;“早实以蕃”中的“实”在此处作名词,表示结果、果实;“病偻”...
6. 栈和队列是一种线性逻辑结构,栈和队列其实是特殊的线性表,对运算的定义略有不同而已。 7. 栈和队列的存储方式既可是顺序方式,也可是链接方式。 8. 两个栈共享一片连续内存空间时,为提高内存利用率,减少...
- “观念的东西不外是移人人脑并在人脑中改造过的物质的东西而已”这一论述出自马克思的《关于费尔巴哈的提纲》,强调了人的思想意识来源于物质世界的反映,并在人脑中经过加工改造。 ### 4. 语言表达 - 在第五题...
2. 荀子的主张:“天有常道,地有常教”、“制天命而用之”是荀子的主张,他强调人的主观能动性和利用自然规律为人类服务,与儒家的天人合一观念有所区别。 3. 法家思想:“不以智累心,不以私累己,寄治乱于法术,...
5. **研究方法选择**:这道题涉及科研方法的选择,新生代研究人员倾向于使用更直接的数据和西方方法,而不是仅仅依赖古籍。 6. **数学逻辑**:在四数比较问题中,要求判断哪个数最小,需要理解并应用数学上的不等式...
2. **国际市场能源产品价格影响**:这道题关注的是全球经济环境对制造业和消费价格指数的影响。主要阐述了能源和农产品价格上涨如何传导至国内,推高消费价格指数,揭示了全球经济相互关联性和价格传导机制。 3. **...
”是故弟子不必不如师,师不必贤于弟子,闻道有先后,术业有专攻,如是而已。 【翻译句子】 16. 师者,所以传道受业解惑也。 —— 老师,是用来传授道理、教授学业、解答疑惑的。 17. 吾师道也,夫庸知其年之先后...
6. 三位思想家及其观点:老子主张道法自然,陆九渊提出了“心即理”的心学理论,黄宗羲批评君主专制,认为“为天下之大害者,君而已矣”,因此对应的思想家分别为B. 庄子 陆九渊 黄宗羲。 7. 道家的自然美学观:...
3. 文学创作与批评标准:中国古代文论不仅讲究文学的道德教化功能,还强调“文质彬彬”、“情景交融”、“辞达而已”等文学创作标准。如宋代苏轼在《东坡志林》中提出诗文创作应当追求“无意于佳乃佳”的自然之境,...
这道题的解决方案是使用模拟运算,按照月为单位计算,记录每个月的 13 日是星期几,然后输出结果。该算法的复杂度较低,适合小规模数据。当数据比较大时,可以以年为单位计算,每年为 365 天,mod 7 的余数是 1,...
选择老师的标准是“道之所存,师之所存也”,意味着无论年龄大小,只要能传授道理、学业和解答疑惑的人,都可成为师。此外,他提出“弟子不必不如师,师不必贤于弟子,闻道有先后,术业有专攻,如是而已”,强调师生...