- 浏览: 284100 次
- 性别:
- 来自: 杭州
文章分类
最新评论
-
北方狼:
请问,当表格列数过多时,除了调整pdf页面宽度,能否设置分页显 ...
利用itext操作pdf从数据库导出大量数据--功能汇总(一) -
15817048604:
.....................
利用itext操作pdf从数据库导出大量数据--添加水印(四) -
laoma102:
顶个,谢楼主
代理模式,JDK动态代理,SpringAOP来龙去脉 -
穷途末路:
给力,谢谢分享
Excel2003和Excel2007对下拉选择和下拉级联选择的操作以及java程序的调用 -
weir2009:
复杂的交叉表crosstab 怎么处理?
利用itext操作pdf从数据库导出大量数据--功能汇总(一)
首先申明,我没有去阿里巴巴面试这个题目的,我是看到坛子里有人贴出问题的。我想如果是我去面试,我该怎么解决,如何去分析这个问题,这个问题背后隐藏的是什么哪类问题,花了一个晚上终于把它给弄出来了,不足之处大家给意见。
题目是这样的:12个高矮不同的人,排成两排,每排必须是从矮到高排列,而且第二排比对应的第一排的人高,问排列方式有多少种?
初看这个问题,如果是应试,还真有点摸不着头脑,但是静心想想,还是有规律的,一般面试题目都是一些经典的算法问题,只是常常将问题以某种看似日常化,生活的题目来叙述罢了。
首先把问题抽象,题目变成:给定一组整数(当然可以是整数,浮点数等,这里姑且当成整数处理,道理是一样的),这组整数中每个数值大小不一样,把这组整数分成两组,每组按照从小到大排列,要求一组每个成员数值比对应位置上的另外一组的成员数值小。
再进一步分解抽象:就是给定一组整数,从这整数中找X个整数出来,使得这X个数之和不大于给定整数数组之和的一半,如果这个一半的情况找到了,另外一半基本确定,因此,现在题目转化成从给定数组中找一个X个数,使得X个数之和小于给定数组之和的一半。
既然问题抽象了,那么现在来设计算法,一个最简单的算法就是穷举,人脑简直是太有限了,让计算机穷举去贝,这里采用遍历整个数组,即确定一个首元素后采用栈来确定这个栈里面的元素是否符合上文中X个数的情况,如果符合就记录下来,如果不符合就进入下一步选择。具体算法是:
(1)先对给定数组Q排序,按照从小到大的顺序排列。
(2)然后循环这个数组(其时排序后循环一半就可以了,理由是找小的一半数组H,最小的元素肯定小于1/2长度的那个元素),把这个循环中的整数A1加入一个栈S,然后从给定数组Q中找比栈顶元素次大的一个元素最为下一个栈顶元素入栈,循环入栈操作。
(3)符合情况的记录:如果这个栈S的元素长度达到给定数组Q元素长度的一半时,就要判断这个栈S元素之和是否小于Q数组之和的一半,如果符合就记录这个栈S的所有元素,并弹出栈顶元素Top,从Q数组中找下一个入栈元素,条件时这个入栈元素要比这个出栈元素Top大
(4)不符合半组H的情况:当栈S元素长度等于Q数组长度一半时,并且此时出栈元素是最后一个了(排序后最大的元素),那么就要出栈两个元素;当栈S元素长度等于Q数组长度一半时,并且此时栈S元素之和已大于给定数组Q之和的一半了,也要出栈两个元素;
(5)退出循环情况:当栈S只有小于等于一个元素了,且下一个元素为空,那么退出当前循环;当栈S小于等于两个元素长度,且下一个元素为数组Q最后一个元素时,那么退出当前循环;当栈S大于两个元素长度,且下一个元素为数组Q最后一个元素时,那么要出栈两个元素。
本人采用java语言实现了这个算法过程,可以任意定义数组大小,最后打印出来这个排列组合,具体程序如下:
运行结果:
---总共有132个组合---
--------------------
1 2 3 4 5 6
7 8 9 10 11 12
--------------------
1 2 3 4 5 7
6 8 9 10 11 12
--------------------
1 2 3 4 5 8
6 7 9 10 11 12
--------------------
1 2 3 4 5 9
6 7 8 10 11 12
--------------------
1 2 3 4 5 10
6 7 8 9 11 12
--------------------
1 2 3 4 5 11
6 7 8 9 10 12
--------------------
1 2 3 4 6 7
5 8 9 10 11 12
--------------------
1 2 3 4 6 8
5 7 9 10 11 12
--------------------
1 2 3 4 6 9
5 7 8 10 11 12
--------------------
1 2 3 4 6 10
5 7 8 9 11 12
--------------------
1 2 3 4 6 11
5 7 8 9 10 12
--------------------
1 2 3 4 7 8
5 6 9 10 11 12
--------------------
1 2 3 4 7 9
5 6 8 10 11 12
--------------------
1 2 3 4 7 10
5 6 8 9 11 12
--------------------
1 2 3 4 7 11
5 6 8 9 10 12
--------------------
1 2 3 4 8 9
5 6 7 10 11 12
--------------------
1 2 3 4 8 10
5 6 7 9 11 12
--------------------
1 2 3 4 8 11
5 6 7 9 10 12
--------------------
1 2 3 4 9 10
5 6 7 8 11 12
--------------------
1 2 3 4 9 11
5 6 7 8 10 12
--------------------
1 2 3 5 6 7
4 8 9 10 11 12
--------------------
1 2 3 5 6 8
4 7 9 10 11 12
--------------------
1 2 3 5 6 9
4 7 8 10 11 12
--------------------
1 2 3 5 6 10
4 7 8 9 11 12
--------------------
1 2 3 5 6 11
4 7 8 9 10 12
--------------------
1 2 3 5 7 8
4 6 9 10 11 12
--------------------
1 2 3 5 7 9
4 6 8 10 11 12
--------------------
1 2 3 5 7 10
4 6 8 9 11 12
--------------------
1 2 3 5 7 11
4 6 8 9 10 12
--------------------
1 2 3 5 8 9
4 6 7 10 11 12
--------------------
1 2 3 5 8 10
4 6 7 9 11 12
--------------------
1 2 3 5 8 11
4 6 7 9 10 12
--------------------
1 2 3 5 9 10
4 6 7 8 11 12
--------------------
1 2 3 5 9 11
4 6 7 8 10 12
--------------------
1 2 3 6 7 8
4 5 9 10 11 12
--------------------
1 2 3 6 7 9
4 5 8 10 11 12
--------------------
1 2 3 6 7 10
4 5 8 9 11 12
--------------------
1 2 3 6 7 11
4 5 8 9 10 12
--------------------
1 2 3 6 8 9
4 5 7 10 11 12
--------------------
1 2 3 6 8 10
4 5 7 9 11 12
--------------------
1 2 3 6 8 11
4 5 7 9 10 12
--------------------
1 2 3 6 9 10
4 5 7 8 11 12
--------------------
1 2 3 6 9 11
4 5 7 8 10 12
--------------------
1 2 3 7 8 9
4 5 6 10 11 12
--------------------
1 2 3 7 8 10
4 5 6 9 11 12
--------------------
1 2 3 7 8 11
4 5 6 9 10 12
--------------------
1 2 3 7 9 10
4 5 6 8 11 12
--------------------
1 2 3 7 9 11
4 5 6 8 10 12
--------------------
1 2 4 5 6 7
3 8 9 10 11 12
--------------------
1 2 4 5 6 8
3 7 9 10 11 12
--------------------
1 2 4 5 6 9
3 7 8 10 11 12
--------------------
1 2 4 5 6 10
3 7 8 9 11 12
--------------------
1 2 4 5 6 11
3 7 8 9 10 12
--------------------
1 2 4 5 7 8
3 6 9 10 11 12
--------------------
1 2 4 5 7 9
3 6 8 10 11 12
--------------------
1 2 4 5 7 10
3 6 8 9 11 12
--------------------
1 2 4 5 7 11
3 6 8 9 10 12
--------------------
1 2 4 5 8 9
3 6 7 10 11 12
--------------------
1 2 4 5 8 10
3 6 7 9 11 12
--------------------
1 2 4 5 8 11
3 6 7 9 10 12
--------------------
1 2 4 5 9 10
3 6 7 8 11 12
--------------------
1 2 4 5 9 11
3 6 7 8 10 12
--------------------
1 2 4 6 7 8
3 5 9 10 11 12
--------------------
1 2 4 6 7 9
3 5 8 10 11 12
--------------------
1 2 4 6 7 10
3 5 8 9 11 12
--------------------
1 2 4 6 7 11
3 5 8 9 10 12
--------------------
1 2 4 6 8 9
3 5 7 10 11 12
--------------------
1 2 4 6 8 10
3 5 7 9 11 12
--------------------
1 2 4 6 8 11
3 5 7 9 10 12
--------------------
1 2 4 6 9 10
3 5 7 8 11 12
--------------------
1 2 4 6 9 11
3 5 7 8 10 12
--------------------
1 2 4 7 8 9
3 5 6 10 11 12
--------------------
1 2 4 7 8 10
3 5 6 9 11 12
--------------------
1 2 4 7 8 11
3 5 6 9 10 12
--------------------
1 2 4 7 9 10
3 5 6 8 11 12
--------------------
1 2 4 7 9 11
3 5 6 8 10 12
--------------------
1 2 5 6 7 8
3 4 9 10 11 12
--------------------
1 2 5 6 7 9
3 4 8 10 11 12
--------------------
1 2 5 6 7 10
3 4 8 9 11 12
--------------------
1 2 5 6 7 11
3 4 8 9 10 12
--------------------
1 2 5 6 8 9
3 4 7 10 11 12
--------------------
1 2 5 6 8 10
3 4 7 9 11 12
--------------------
1 2 5 6 8 11
3 4 7 9 10 12
--------------------
1 2 5 6 9 10
3 4 7 8 11 12
--------------------
1 2 5 6 9 11
3 4 7 8 10 12
--------------------
1 2 5 7 8 9
3 4 6 10 11 12
--------------------
1 2 5 7 8 10
3 4 6 9 11 12
--------------------
1 2 5 7 8 11
3 4 6 9 10 12
--------------------
1 2 5 7 9 10
3 4 6 8 11 12
--------------------
1 2 5 7 9 11
3 4 6 8 10 12
--------------------
1 3 4 5 6 7
2 8 9 10 11 12
--------------------
1 3 4 5 6 8
2 7 9 10 11 12
--------------------
1 3 4 5 6 9
2 7 8 10 11 12
--------------------
1 3 4 5 6 10
2 7 8 9 11 12
--------------------
1 3 4 5 6 11
2 7 8 9 10 12
--------------------
1 3 4 5 7 8
2 6 9 10 11 12
--------------------
1 3 4 5 7 9
2 6 8 10 11 12
--------------------
1 3 4 5 7 10
2 6 8 9 11 12
--------------------
1 3 4 5 7 11
2 6 8 9 10 12
--------------------
1 3 4 5 8 9
2 6 7 10 11 12
--------------------
1 3 4 5 8 10
2 6 7 9 11 12
--------------------
1 3 4 5 8 11
2 6 7 9 10 12
--------------------
1 3 4 5 9 10
2 6 7 8 11 12
--------------------
1 3 4 5 9 11
2 6 7 8 10 12
--------------------
1 3 4 6 7 8
2 5 9 10 11 12
--------------------
1 3 4 6 7 9
2 5 8 10 11 12
--------------------
1 3 4 6 7 10
2 5 8 9 11 12
--------------------
1 3 4 6 7 11
2 5 8 9 10 12
--------------------
1 3 4 6 8 9
2 5 7 10 11 12
--------------------
1 3 4 6 8 10
2 5 7 9 11 12
--------------------
1 3 4 6 8 11
2 5 7 9 10 12
--------------------
1 3 4 6 9 10
2 5 7 8 11 12
--------------------
1 3 4 6 9 11
2 5 7 8 10 12
--------------------
1 3 4 7 8 9
2 5 6 10 11 12
--------------------
1 3 4 7 8 10
2 5 6 9 11 12
--------------------
1 3 4 7 8 11
2 5 6 9 10 12
--------------------
1 3 4 7 9 10
2 5 6 8 11 12
--------------------
1 3 4 7 9 11
2 5 6 8 10 12
--------------------
1 3 5 6 7 8
2 4 9 10 11 12
--------------------
1 3 5 6 7 9
2 4 8 10 11 12
--------------------
1 3 5 6 7 10
2 4 8 9 11 12
--------------------
1 3 5 6 7 11
2 4 8 9 10 12
--------------------
1 3 5 6 8 9
2 4 7 10 11 12
--------------------
1 3 5 6 8 10
2 4 7 9 11 12
--------------------
1 3 5 6 8 11
2 4 7 9 10 12
--------------------
1 3 5 6 9 10
2 4 7 8 11 12
--------------------
1 3 5 6 9 11
2 4 7 8 10 12
--------------------
1 3 5 7 8 9
2 4 6 10 11 12
--------------------
1 3 5 7 8 10
2 4 6 9 11 12
--------------------
1 3 5 7 8 11
2 4 6 9 10 12
--------------------
1 3 5 7 9 10
2 4 6 8 11 12
--------------------
1 3 5 7 9 11
2 4 6 8 10 12
题目是这样的:12个高矮不同的人,排成两排,每排必须是从矮到高排列,而且第二排比对应的第一排的人高,问排列方式有多少种?
初看这个问题,如果是应试,还真有点摸不着头脑,但是静心想想,还是有规律的,一般面试题目都是一些经典的算法问题,只是常常将问题以某种看似日常化,生活的题目来叙述罢了。
首先把问题抽象,题目变成:给定一组整数(当然可以是整数,浮点数等,这里姑且当成整数处理,道理是一样的),这组整数中每个数值大小不一样,把这组整数分成两组,每组按照从小到大排列,要求一组每个成员数值比对应位置上的另外一组的成员数值小。
再进一步分解抽象:就是给定一组整数,从这整数中找X个整数出来,使得这X个数之和不大于给定整数数组之和的一半,如果这个一半的情况找到了,另外一半基本确定,因此,现在题目转化成从给定数组中找一个X个数,使得X个数之和小于给定数组之和的一半。
既然问题抽象了,那么现在来设计算法,一个最简单的算法就是穷举,人脑简直是太有限了,让计算机穷举去贝,这里采用遍历整个数组,即确定一个首元素后采用栈来确定这个栈里面的元素是否符合上文中X个数的情况,如果符合就记录下来,如果不符合就进入下一步选择。具体算法是:
(1)先对给定数组Q排序,按照从小到大的顺序排列。
(2)然后循环这个数组(其时排序后循环一半就可以了,理由是找小的一半数组H,最小的元素肯定小于1/2长度的那个元素),把这个循环中的整数A1加入一个栈S,然后从给定数组Q中找比栈顶元素次大的一个元素最为下一个栈顶元素入栈,循环入栈操作。
(3)符合情况的记录:如果这个栈S的元素长度达到给定数组Q元素长度的一半时,就要判断这个栈S元素之和是否小于Q数组之和的一半,如果符合就记录这个栈S的所有元素,并弹出栈顶元素Top,从Q数组中找下一个入栈元素,条件时这个入栈元素要比这个出栈元素Top大
(4)不符合半组H的情况:当栈S元素长度等于Q数组长度一半时,并且此时出栈元素是最后一个了(排序后最大的元素),那么就要出栈两个元素;当栈S元素长度等于Q数组长度一半时,并且此时栈S元素之和已大于给定数组Q之和的一半了,也要出栈两个元素;
(5)退出循环情况:当栈S只有小于等于一个元素了,且下一个元素为空,那么退出当前循环;当栈S小于等于两个元素长度,且下一个元素为数组Q最后一个元素时,那么退出当前循环;当栈S大于两个元素长度,且下一个元素为数组Q最后一个元素时,那么要出栈两个元素。
本人采用java语言实现了这个算法过程,可以任意定义数组大小,最后打印出来这个排列组合,具体程序如下:
package com.fruitking.test; import java.util.ArrayList; import java.util.Iterator; import java.util.List; import java.util.Stack; /** * 给定一个整数列表(每个数大小都不一样),分成两队, * 每对按照高矮排列,且左边一对比右边一对对应位置上的值要小 * @author XuGuo * @since 2009-10-27 */ public class HalfOfQueue { private List<Integer> queueList;//存储整个编队的人的身高数据列表 private Stack<Integer> halfStack = new Stack<Integer>();//遍历时候临时使用的栈 private List<List<Integer>> halfResultList = new ArrayList<List<Integer>>();//用于临时存储半个队列 private List<List<Pair>> resultList = new ArrayList<List<Pair>>();//用于存储结果排序好的符合要求的队列 private int sum = 0;//整个编队的总大小 private Integer lastMember;//排序后最大的元素 public HalfOfQueue(List<Integer> queueList){ this.queueList = this.sortQueueList(queueList); this.sumOfQueueList(); if(queueList!=null&&queueList.size()>=2){ this.lastMember = queueList.get(queueList.size()-1); } } /** * 打印总过有多少组合,并且组合是哪些 */ public List<List<Pair>> getResultPairList(){ return this.resultList; } /** * 查找和结果整理 */ public void run(){ this.halfQueue(); this.handlePairQueue(); } /** * 匹配成对 */ private void handlePairQueue(){ if(halfResultList!=null&&!halfResultList.isEmpty()){ for(int i=0;i<halfResultList.size();i++){ List<Integer> tempOneList = halfResultList.get(i); List<Integer> tempOtherList = new ArrayList<Integer>(); int queueSize = this.queueList.size(); if(tempOneList!=null&&!tempOneList.isEmpty()){ Integer tempMember = null; for(int k=0;k<queueSize;k++){ tempMember = queueList.get(k); if(!tempOneList.contains(tempMember)){ tempOtherList.add(tempMember); } } tempOtherList = this.sortQueueList(tempOtherList); } List<Pair> pairList = new ArrayList<Pair>(); for(int k=0;k<tempOneList.size();k++){ Pair pair = new Pair(tempOneList.get(k),tempOtherList.get(k)); if(pair.isCorrectPair()){ pairList.add(pair); } } if(pairList.size()==this.queueList.size()/2){ this.resultList.add(pairList); } } } } /** * 半块队列的穷举 */ private void halfQueue(){ for(int i=0;i<queueList.size()/2;i++){ if(queueList.size()<2){ return; } halfStack.clear(); halfStack.push(queueList.get(i)); Integer inNextMember = halfStack.peek(); Integer topStackMember = null; while(true){ if(halfStack.size()<(queueList.size()/2)){ inNextMember = getNextMember(inNextMember); if(inNextMember!=null){ halfStack.push(inNextMember); }else{ if(halfStack.size()<=1){ break;//退出条件 }else{ halfStack.pop();//退出最后一个元素 inNextMember = halfStack.pop();//退出到数第二个元素 continue; } } if(halfStack.size()==(queueList.size()/2)){ if(this.isHalfOfSumQueueList()){ List<Integer> tempList = new ArrayList<Integer>(); tempList.addAll(halfStack); halfResultList.add(tempList); topStackMember = halfStack.pop();//当栈满时退出最后一个栈元素 if(topStackMember.intValue()==this.lastMember.intValue()){ //最后一个元素了 inNextMember = halfStack.pop();//当栈差一个元素满时退出最后一个元素 } }else{ halfStack.pop();//退出最后一个元素(这个元素的加入已经满足此栈所有元素不符合业务逻辑的情况了) inNextMember = halfStack.pop();//退出到数第二个元素(即使后面还有元素已经不满足业务逻辑了) } }else if(inNextMember.intValue()==this.lastMember.intValue()){ if(halfStack.size()<=2){//第一个元素和最后一个元素了也就要退出 break;//退出条件 }else{ halfStack.pop();//退出最后一个元素(这个元素一定是编队中最大的元素) inNextMember = halfStack.pop();//退出到数第二个元素 } } } } } } /** * 是否是编队值的一半的最大值 * @return */ private boolean isHalfOfSumQueueList(){ int sumOfHalf = 0; if(halfStack!=null&&!halfStack.isEmpty()){ Iterator<Integer> halfStackIt = halfStack.iterator(); while(halfStackIt.hasNext()){ sumOfHalf = sumOfHalf + halfStackIt.next().intValue(); } if(sumOfHalf<=(this.sum/2-queueList.size()/4)){ return true; } } return false; } /** * 获得比当前元素大的元素,已经对成员列表排序了 * 如果当前为空就返回最小的那个元素,如果当前元素最大,就返回最大的那个元素 * @return */ private Integer getNextMember(Integer currentMember){ Integer nextMember = null; if(queueList!=null&&!queueList.isEmpty()){ if(currentMember!=null&¤tMember.intValue()==this.lastMember.intValue()){ return null; } Iterator<Integer> memberIt = queueList.iterator(); while(memberIt.hasNext()){ nextMember = memberIt.next(); if(currentMember!=null){ if(nextMember.intValue()>currentMember.intValue()){ break; } }else{ break; } } } return nextMember; } /** * 求队列和 */ private void sumOfQueueList(){ if(queueList!=null&&!queueList.isEmpty()){ for(int k=0;k<queueList.size();k++){ sum = sum + queueList.get(k).intValue(); } } } /** * 对编队按照从小到大排序 * @param queueList * @return */ private List<Integer> sortQueueList(List<Integer> srcQueueList){ List<Integer> destQueueList = new ArrayList<Integer>(); if(srcQueueList!=null&&!srcQueueList.isEmpty()){ List<Integer> tempList = new ArrayList<Integer>(); tempList.addAll(srcQueueList); Iterator<Integer> outIt = tempList.iterator(); while(outIt.hasNext()){ Integer nextMember = null; Integer tempMember = null; Iterator<Integer> inIt = tempList.iterator(); while(inIt.hasNext()){ tempMember = inIt.next(); if(nextMember==null){ nextMember = tempMember; } if(nextMember.intValue()>tempMember.intValue()){ nextMember = tempMember; } } if(nextMember!=null){ destQueueList.add(nextMember); tempList.remove(nextMember); outIt = tempList.iterator(); } } } return destQueueList; } }
package com.fruitking.test; /** * 数据封装而已,不想用太多的数组这样的单个东西 * @author XuGuo * @since 2009-10-27 */ public class Pair { private Integer left; private Integer right; public Pair(Integer left,Integer right){ this.left = left; this.right = right; } /** * 判断这对是否是正确的组合(即左边这个元素是否小于右边这个元素) * @return */ public boolean isCorrectPair(){ if(left!=null&&right!=null&&left.intValue()<right.intValue()){ return true; }else{ return false; } } public int getLeft() { return left; } public void setLeft(int left) { this.left = left; } public int getRight() { return right; } public void setRight(int right) { this.right = right; } }
package com.fruitking.test; import java.util.ArrayList; import java.util.List; /** * @author XuGuo * @since 2009-10-27 */ public class Test10 { /** * 12个高矮不同的人,排成两排,每排必须是从矮到高排列, * 而且第二排比对应的第一排的人高,问排列方式有多少种? */ public static void main(String[] args) { List<Integer> list = new ArrayList<Integer>(); list.add(new Integer(2));list.add(new Integer(4)); list.add(new Integer(1));list.add(new Integer(3)); list.add(new Integer(5));list.add(new Integer(6)); list.add(new Integer(7));list.add(new Integer(8)); list.add(new Integer(9));list.add(new Integer(11)); list.add(new Integer(10));list.add(new Integer(12)); HalfOfQueue test1 = new HalfOfQueue(list); test1.run(); List<List<Pair>> resultList = test1.getResultPairList(); /** * 打印总过有多少组合,并且组合是哪些 */ System.out.println(); System.out.println("---总共有"+resultList.size()+"个组合---"); for(int i=0;i<resultList.size();i++){ List<Pair> tempList = resultList.get(i); if(tempList!=null&&!tempList.isEmpty()){ System.out.println("--------------------"); for(int k=0;k<tempList.size();k++){ System.out.print(tempList.get(k).getLeft()+" "); } System.out.println(); for(int k=0;k<tempList.size();k++){ System.out.print(tempList.get(k).getRight()+" "); } System.out.println(); } } } }
运行结果:
---总共有132个组合---
--------------------
1 2 3 4 5 6
7 8 9 10 11 12
--------------------
1 2 3 4 5 7
6 8 9 10 11 12
--------------------
1 2 3 4 5 8
6 7 9 10 11 12
--------------------
1 2 3 4 5 9
6 7 8 10 11 12
--------------------
1 2 3 4 5 10
6 7 8 9 11 12
--------------------
1 2 3 4 5 11
6 7 8 9 10 12
--------------------
1 2 3 4 6 7
5 8 9 10 11 12
--------------------
1 2 3 4 6 8
5 7 9 10 11 12
--------------------
1 2 3 4 6 9
5 7 8 10 11 12
--------------------
1 2 3 4 6 10
5 7 8 9 11 12
--------------------
1 2 3 4 6 11
5 7 8 9 10 12
--------------------
1 2 3 4 7 8
5 6 9 10 11 12
--------------------
1 2 3 4 7 9
5 6 8 10 11 12
--------------------
1 2 3 4 7 10
5 6 8 9 11 12
--------------------
1 2 3 4 7 11
5 6 8 9 10 12
--------------------
1 2 3 4 8 9
5 6 7 10 11 12
--------------------
1 2 3 4 8 10
5 6 7 9 11 12
--------------------
1 2 3 4 8 11
5 6 7 9 10 12
--------------------
1 2 3 4 9 10
5 6 7 8 11 12
--------------------
1 2 3 4 9 11
5 6 7 8 10 12
--------------------
1 2 3 5 6 7
4 8 9 10 11 12
--------------------
1 2 3 5 6 8
4 7 9 10 11 12
--------------------
1 2 3 5 6 9
4 7 8 10 11 12
--------------------
1 2 3 5 6 10
4 7 8 9 11 12
--------------------
1 2 3 5 6 11
4 7 8 9 10 12
--------------------
1 2 3 5 7 8
4 6 9 10 11 12
--------------------
1 2 3 5 7 9
4 6 8 10 11 12
--------------------
1 2 3 5 7 10
4 6 8 9 11 12
--------------------
1 2 3 5 7 11
4 6 8 9 10 12
--------------------
1 2 3 5 8 9
4 6 7 10 11 12
--------------------
1 2 3 5 8 10
4 6 7 9 11 12
--------------------
1 2 3 5 8 11
4 6 7 9 10 12
--------------------
1 2 3 5 9 10
4 6 7 8 11 12
--------------------
1 2 3 5 9 11
4 6 7 8 10 12
--------------------
1 2 3 6 7 8
4 5 9 10 11 12
--------------------
1 2 3 6 7 9
4 5 8 10 11 12
--------------------
1 2 3 6 7 10
4 5 8 9 11 12
--------------------
1 2 3 6 7 11
4 5 8 9 10 12
--------------------
1 2 3 6 8 9
4 5 7 10 11 12
--------------------
1 2 3 6 8 10
4 5 7 9 11 12
--------------------
1 2 3 6 8 11
4 5 7 9 10 12
--------------------
1 2 3 6 9 10
4 5 7 8 11 12
--------------------
1 2 3 6 9 11
4 5 7 8 10 12
--------------------
1 2 3 7 8 9
4 5 6 10 11 12
--------------------
1 2 3 7 8 10
4 5 6 9 11 12
--------------------
1 2 3 7 8 11
4 5 6 9 10 12
--------------------
1 2 3 7 9 10
4 5 6 8 11 12
--------------------
1 2 3 7 9 11
4 5 6 8 10 12
--------------------
1 2 4 5 6 7
3 8 9 10 11 12
--------------------
1 2 4 5 6 8
3 7 9 10 11 12
--------------------
1 2 4 5 6 9
3 7 8 10 11 12
--------------------
1 2 4 5 6 10
3 7 8 9 11 12
--------------------
1 2 4 5 6 11
3 7 8 9 10 12
--------------------
1 2 4 5 7 8
3 6 9 10 11 12
--------------------
1 2 4 5 7 9
3 6 8 10 11 12
--------------------
1 2 4 5 7 10
3 6 8 9 11 12
--------------------
1 2 4 5 7 11
3 6 8 9 10 12
--------------------
1 2 4 5 8 9
3 6 7 10 11 12
--------------------
1 2 4 5 8 10
3 6 7 9 11 12
--------------------
1 2 4 5 8 11
3 6 7 9 10 12
--------------------
1 2 4 5 9 10
3 6 7 8 11 12
--------------------
1 2 4 5 9 11
3 6 7 8 10 12
--------------------
1 2 4 6 7 8
3 5 9 10 11 12
--------------------
1 2 4 6 7 9
3 5 8 10 11 12
--------------------
1 2 4 6 7 10
3 5 8 9 11 12
--------------------
1 2 4 6 7 11
3 5 8 9 10 12
--------------------
1 2 4 6 8 9
3 5 7 10 11 12
--------------------
1 2 4 6 8 10
3 5 7 9 11 12
--------------------
1 2 4 6 8 11
3 5 7 9 10 12
--------------------
1 2 4 6 9 10
3 5 7 8 11 12
--------------------
1 2 4 6 9 11
3 5 7 8 10 12
--------------------
1 2 4 7 8 9
3 5 6 10 11 12
--------------------
1 2 4 7 8 10
3 5 6 9 11 12
--------------------
1 2 4 7 8 11
3 5 6 9 10 12
--------------------
1 2 4 7 9 10
3 5 6 8 11 12
--------------------
1 2 4 7 9 11
3 5 6 8 10 12
--------------------
1 2 5 6 7 8
3 4 9 10 11 12
--------------------
1 2 5 6 7 9
3 4 8 10 11 12
--------------------
1 2 5 6 7 10
3 4 8 9 11 12
--------------------
1 2 5 6 7 11
3 4 8 9 10 12
--------------------
1 2 5 6 8 9
3 4 7 10 11 12
--------------------
1 2 5 6 8 10
3 4 7 9 11 12
--------------------
1 2 5 6 8 11
3 4 7 9 10 12
--------------------
1 2 5 6 9 10
3 4 7 8 11 12
--------------------
1 2 5 6 9 11
3 4 7 8 10 12
--------------------
1 2 5 7 8 9
3 4 6 10 11 12
--------------------
1 2 5 7 8 10
3 4 6 9 11 12
--------------------
1 2 5 7 8 11
3 4 6 9 10 12
--------------------
1 2 5 7 9 10
3 4 6 8 11 12
--------------------
1 2 5 7 9 11
3 4 6 8 10 12
--------------------
1 3 4 5 6 7
2 8 9 10 11 12
--------------------
1 3 4 5 6 8
2 7 9 10 11 12
--------------------
1 3 4 5 6 9
2 7 8 10 11 12
--------------------
1 3 4 5 6 10
2 7 8 9 11 12
--------------------
1 3 4 5 6 11
2 7 8 9 10 12
--------------------
1 3 4 5 7 8
2 6 9 10 11 12
--------------------
1 3 4 5 7 9
2 6 8 10 11 12
--------------------
1 3 4 5 7 10
2 6 8 9 11 12
--------------------
1 3 4 5 7 11
2 6 8 9 10 12
--------------------
1 3 4 5 8 9
2 6 7 10 11 12
--------------------
1 3 4 5 8 10
2 6 7 9 11 12
--------------------
1 3 4 5 8 11
2 6 7 9 10 12
--------------------
1 3 4 5 9 10
2 6 7 8 11 12
--------------------
1 3 4 5 9 11
2 6 7 8 10 12
--------------------
1 3 4 6 7 8
2 5 9 10 11 12
--------------------
1 3 4 6 7 9
2 5 8 10 11 12
--------------------
1 3 4 6 7 10
2 5 8 9 11 12
--------------------
1 3 4 6 7 11
2 5 8 9 10 12
--------------------
1 3 4 6 8 9
2 5 7 10 11 12
--------------------
1 3 4 6 8 10
2 5 7 9 11 12
--------------------
1 3 4 6 8 11
2 5 7 9 10 12
--------------------
1 3 4 6 9 10
2 5 7 8 11 12
--------------------
1 3 4 6 9 11
2 5 7 8 10 12
--------------------
1 3 4 7 8 9
2 5 6 10 11 12
--------------------
1 3 4 7 8 10
2 5 6 9 11 12
--------------------
1 3 4 7 8 11
2 5 6 9 10 12
--------------------
1 3 4 7 9 10
2 5 6 8 11 12
--------------------
1 3 4 7 9 11
2 5 6 8 10 12
--------------------
1 3 5 6 7 8
2 4 9 10 11 12
--------------------
1 3 5 6 7 9
2 4 8 10 11 12
--------------------
1 3 5 6 7 10
2 4 8 9 11 12
--------------------
1 3 5 6 7 11
2 4 8 9 10 12
--------------------
1 3 5 6 8 9
2 4 7 10 11 12
--------------------
1 3 5 6 8 10
2 4 7 9 11 12
--------------------
1 3 5 6 8 11
2 4 7 9 10 12
--------------------
1 3 5 6 9 10
2 4 7 8 11 12
--------------------
1 3 5 6 9 11
2 4 7 8 10 12
--------------------
1 3 5 7 8 9
2 4 6 10 11 12
--------------------
1 3 5 7 8 10
2 4 6 9 11 12
--------------------
1 3 5 7 8 11
2 4 6 9 10 12
--------------------
1 3 5 7 9 10
2 4 6 8 11 12
--------------------
1 3 5 7 9 11
2 4 6 8 10 12
- test.rar (3.2 KB)
- 下载次数: 20
评论
3 楼
zrs217
2012-03-06
很犀利,学习一下
2 楼
BenArfa
2009-11-03
(12,6)/7 = ((12*11*10*9*8*7)/(6*5*4*3*2*1))/7 = 132
^_^
^_^
1 楼
fruitking
2009-10-28
后来修正过一次
栈操作退出条件的bug修正
这次终于完整了,谢谢大家的支持
栈操作退出条件的bug修正
这次终于完整了,谢谢大家的支持
发表评论
-
利用powerdesigner从oracle数据库中导出数据物理模型结构
2010-03-16 19:15 4120步骤为 1.菜单File->Reverse Engine ... -
恋爱过程中的设计模式之状态模式
2009-10-23 16:30 1169状态模式,根据状态的不同,则行为不同 package co ... -
恋爱过程中的设计模式之代理模式(代理模式近似实现AOP功能)
2009-10-23 16:26 1126代理模式分为静态代理和动态代理 下面我分别举例静态代理和动态代 ... -
恋爱过程中的设计模式之代理模式(动态代理模式)
2009-10-23 16:22 1230代理模式分为静态代理和动态代理 下面我分别举例静态代理和动态代 ... -
恋爱过程中的设计模式之代理模式(静态代理模式)
2009-10-23 16:19 917代理模式分为静态代理和动态代理 下面我分别举例静态代理和动态代 ... -
转载:从工作流状态机实践中总结状态模式使用心得
2009-10-23 10:56 1399出处已不清楚,属于转载文章 状态模式好像是很简单的模 ...
相关推荐
阿里巴巴面试题
阿里巴巴的Android面试题集主要涵盖了计算机基础、数据结构与算法、Java编程、Android技术以及一些扩展领域的知识。以下是对这些知识点的详细解析: **第一章 计算机基础面试题** 这部分通常包括网络、操作系统和...
在阿里巴巴的面试中,Java集合框架是常见的话题,尤其是HashMap和Hashtable的区别,以及ArrayList和LinkedList的区别。 HashMap和Hashtable是Java中最常用的两种键值对存储的数据结构,它们都是基于哈希表实现的。...
阿里巴巴面试官手册_java面试_面试_阿里_.zip
2014阿里巴巴面试题北京站 多做一些面试题,为以后的自己做铺垫
阿里巴巴java面试题目,涵盖全部的Java高级技术,数据库技术和分布式相关技术。
以下是一些针对阿里巴巴2023年Java面试题的相关知识点: 1. **Java语言特点**: - **简单易学**:Java的设计目标是易于学习,其语法简洁,避免了C++等语言的复杂性。 - **丰富的类库**:Java拥有庞大的标准类库,...
由于文档标题为《2019阿里巴巴技术面试题汇总.pdf》,且描述提到包含CDN、数据库、前端、后端、存储等技术面试题汇总,本文将重点讨论文档中提供的三个面试题样本,它们分别涉及了数据结构(单向链表逆序)、数值...
前端最全的面试题,包含了大厂会问到的所有框架问题,以及基础预习面试题。
阿里巴巴_java_研发成功笔面试总结.doc
总的来说,阿里巴巴的面试题全面且深度,不仅要求技术扎实,还看重解决问题的能力和逻辑思维。求职者在准备时,除了掌握上述知识点,还需要关注最新的技术趋势,如云计算、大数据、人工智能等,并具备良好的学习能力...
阿里巴巴面试题
阿里巴巴面试官手册,很多Java相关的技术都有整理。
首先,从“阿里巴巴2014校园招聘北京站笔试题(研发&算法&系统&测试工程师) .doc”这个文件名来看,我们可以推测这份文档包含了多个职位类型的面试题目,包括研发工程师、算法工程师、系统工程师和测试工程师。...
12阿里巴巴面试题精讲
在2013年的阿里巴巴面试过程中,面试官通常会考察候选人的技术能力、问题解决技巧以及团队合作精神。阿里巴巴作为中国领先的互联网巨头,其面试涵盖了众多IT领域的知识点,旨在寻找具备扎实理论基础、实战经验和创新...
这些面试题展示了面试者需要掌握的关键技能,包括但不限于算法分析、数据结构的应用、问题解决能力以及对基础理论的深入理解。在实际工作中,这些知识对于优化代码性能、解决复杂问题以及进行系统设计都至关重要。