Topcoder EllysBottles 题解
生活随笔
收集整理的這篇文章主要介紹了
Topcoder EllysBottles 题解
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題意
給你一些數,每次取一個最大的和一個最小的出來,將它們兩個都變成它們的平均數,放回,進行k次,問最后最小的數是多少
思路
到一定地步的時候最大和最小的就基本相等了,所以判斷相等后終止循環
代碼
#include <vector> #include <algorithm> using namespace std; class EllysBottles {public:double getVolume(vector<int>,int); }; double EllysBottles::getVolume(vector<int> bottles,int k) {vector<double> ans;double t;for(int i=0;i<bottles.size();i++)ans.push_back(bottles[i]);for(int i=0;i<k;i++){sort(ans.begin(),ans.end());if(ans[0]==ans[ans.size()-1])return ans[0];t=(ans[0]+ans[ans.size()-1])/2;ans[0]=t;ans[ans.size()-1]=t;}sort(ans.begin(),ans.end());return ans[0]; }總結
以上是生活随笔為你收集整理的Topcoder EllysBottles 题解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: iPhone4 iOS 4.3.3 越狱
- 下一篇: 浅谈数据治理