摘要:
输入样例1: 5 88 70 61 96 120 输出样例1: 70 输入样例2: 7 88 70 61 96 120 90 65 输出样例2: 88解题思路:生成二叉排序树的同时调整为平衡二叉树需要调整的情况:1、左单旋 2、右单旋 3、先右旋后左旋 4、先左旋后右旋 #include <stdi 阅读全文
摘要:
//用连通分量dfs //环1:0->3->2->7->0 //交换a[0]=0<->a[1]=5 //环2:0->5->4->6->9->1->0 #include <stdio.h> int d[100001]= {0},a[100001]= {0}; void dfs(int x) { d[x 阅读全文
摘要:
#include <stdio.h> #include <string.h> int n; int visit[11]; int re[11]; void dfs(int step) { int i; if(step==n+1) { for(i=1; i<=n; i++) { printf("%d" 阅读全文
摘要:
#include <stdio.h> #include <string.h> int a[31]= {0}; int n,sum=0,num=0,cnt=1; void dfs(int i) { int j,k; if(sum==n) { printf("%d=",n); for(k=0; k<nu 阅读全文
摘要:
解题思路: 1、普通客户到来:从编号最小的窗口开始查看是否有空闲窗口 1)如果有空闲窗口,若此时空闲窗口刚好是VIP窗口,则看一下队列里面是否有已经到来的VIP客户,如有,则让该VIP插队 2)如果没有空闲窗口,则寻找最先完成的窗口,若最先完成的窗口也是VIP,同理也要看一下队列里是否有VIP已经到 阅读全文
摘要:
题目: 即将N个盘子从起始柱(标记为“a”)通过借助柱(标记为“b”)移动到目标柱(标记为“c”) 解法一、非递归算法 所有的汉诺塔移动可以总结为重复的两步,我们假设现在最小的圆盘在a柱子上,柱子为a,b,c 第一步:将最小圆盘移动到下一个柱子上,也就是b 第二步:对a柱子和c柱子进行顶上最小的元素 阅读全文