Topcoder EllysBottles 题解
生活随笔
收集整理的這篇文章主要介紹了
Topcoder EllysBottles 题解
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
題意
給你一些數(shù),每次取一個(gè)最大的和一個(gè)最小的出來,將它們兩個(gè)都變成它們的平均數(shù),放回,進(jìn)行k次,問最后最小的數(shù)是多少
思路
到一定地步的時(shí)候最大和最小的就基本相等了,所以判斷相等后終止循環(huán)
代碼
#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]; }總結(jié)
以上是生活随笔為你收集整理的Topcoder EllysBottles 题解的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: iPhone4 iOS 4.3.3 越狱
- 下一篇: 浅谈数据治理