#includeusing namespace std;struct ListNode{ int m_nKey; ListNode * m_pNext;};//-------------_创建链表-------------ListNode* create_node(int value){ ListN...
分类:
其他好文 时间:
2014-10-07 19:08:03
阅读次数:
117
题目:有一栋楼,现在设计一种电梯调度算法:电梯在一楼让大家上电梯,然后根据大家选择要到的楼层算出某一楼层i,电梯在i层停下让所有人下电梯,然后大家爬楼梯达到自己的楼层。请问电梯停在哪一层,可以使得这一次的所有乘客爬楼层之和最短?
(一)
最直接最简单的方法就是直接枚举从第一层到最后一层,然后算出电梯停在哪一层会使得所有乘客爬楼层之和最短。
代码如下:
int nPerson[]; //n...
分类:
其他好文 时间:
2014-10-07 18:43:43
阅读次数:
196
题意:
给一张无向图,中午12:00从0点出发(充满电,支持240分钟的路程),在每个点都能充电,充2分钟的电能跑1分钟,每条路按分钟分为若干个时间段,每个时间段内通过这条路的时间为ti,问到达n-1号点最少要多少时间。
分析:
BFS+优先队列。按时间优先出队,要注意将电量的存储*2(当然有其他方法),因为如果充电时间为奇数,用int存会丢失0.5。其次是要跑两个周期(两天)。判重的话有很多方法,较普遍的是开两维,位置和剩余电量,我的方法是开一维松弛,将电量化为0(x.time-x.power)。要小心的...
分类:
其他好文 时间:
2014-10-07 18:43:34
阅读次数:
239
package com.love.test;
import java.util.Scanner;
/**
* @author huowolf
*快速排序实现
*快排是十分优秀的排序算法。
*核心:分治法(1.选基元2.分区3.递归子列)
*/
public class QuickSort {
public static void quickSort(int[] arr,int...
分类:
编程语言 时间:
2014-10-07 18:11:13
阅读次数:
183
字符串匹配算法有很多种,最为常用的有KMP算法、普通算法。
1、普通算法:此算法是效率最低的算法,时间复杂度为O(NM)。
程序如下:
bool str_match(const char * str1, const char * str2)//O(P*T)
{
assert(str1 != NULL && str2 != NULL);
int k = 0;
for (unsigned ...
分类:
其他好文 时间:
2014-10-07 17:56:23
阅读次数:
132
上学期刷过裸的RMQ模板题,不过那时候一直不理解>_=l)3 {4 int mid=(l+r)/2; //mid: r-l5 if (calc(mid)) //calc(mid): 判断mid答案是否符合要求6 ...
分类:
其他好文 时间:
2014-10-07 17:45:53
阅读次数:
217
#include#include#include using namespace std;int main(){ cout ::max)(); cout ::min)() ::max)(); cout ::min)() ::max)(); cout ::min)() ::ma...
分类:
编程语言 时间:
2014-10-07 17:12:23
阅读次数:
180
题目链接:点击打开链接
键盘移位了,问输出对应的字母
#include
#include
char a[105];
char b[3][11] = {"qwertyuiop","asdfghjkl;","zxcvbnm,./"};
int main() {
scanf("%s", a);
if(a[0] == 'R') {
scanf("%s", a);...
分类:
其他好文 时间:
2014-10-07 16:48:03
阅读次数:
180
题目链接:点击打开链接
题意:
给定T表示case数
下面4行是一个case
每行2个点,u v
每次u可以绕着v逆时针转90°
问最少操作多少次使得4个u构成一个正方形。
思路:
枚举判可行
#include
#include
#include
#include
using namespace std;
int hah,ijj;
int haif...
分类:
其他好文 时间:
2014-10-07 16:47:13
阅读次数:
184
解法:(1)建立一个二维数组,记录各位置左侧最高点及右侧最高点,可通过O(n)计算得到。
(2)根据上述信息及当前高度,计算该点竖直方向能容纳多少水,仍是O(n)完成。
综上,渐近时间复杂度为O(n);
class Solution {
public:
int trap(int A[], int n) {
if(n
return 0;
int* hi...
分类:
移动开发 时间:
2014-10-07 15:57:53
阅读次数:
181