|
发表于 2018-9-13 10:36:20
|
显示全部楼层
python的代码我不会写,这里给个思路。
假设排队的队列为ti,那么每个人都必须等他前面的人把事情昨晚,这样:
第一个人工作时有n-1个人在等,第二个人工作时有n-2个人在等,以此类推,等待的总时间为
Twait=Σti*(n-1-i) (i∈【0,n-2】);
Twork=Σti (i∈【0,n-1】);- #include<iostream>
- #include<algorithm>
- using namespace std;
- int main()
- {
- int T=0;
- int a[] = { 5,10,8,7 };
- int length = sizeof(a) / sizeof(int);
- sort(a, a + length);
- for (int i = 0; i < length; i++)
- {
- T = T + a[i] * (length - i);
- }
- cout << T << endl;
- system("pause");
- return 1;
- }
复制代码
T=Σti*(n-i) (i∈【0,n-1】);
这样计算时只需要一个循环,时间复杂度为O(n). |
|