完美世界,求(英雄PK)代码

RT,有大神能发下嘛,我一直83%,谢谢,java代码#完美世界#
全部评论
策略有点像田忌赛马。 1,把A和B进行排序 2,遍历B,对B中每一个数找到A中第一个大于这个数的 public static int getMostBonus(int n, int teamA[], int teamB[]) { int res=0; Arrays.sort(teamA); Arrays.sort(teamB); int i=0; int j=0; for( ;i<teamB.length;i++){ for( ;j<teamA.length;j++){ if(teamA[j]>teamB[i]){ res+=100; j++; break; } } if (j==teamA.length){ res-=(teamB.length-i-1)*100; break; } } return res; }
点赞 回复 分享
发布于 2018-08-29 11:08
我的做法是 两组英雄排序, 按顺序比,赢就计数+1,输就输-1 得到一个值a 还有一个是尽可能的赢,如果这把A组的会输,那A组index++再比,赢了计数+1 得到一个值b(b≤总组数n),还有n-b把必输 所以就是 a 和 (b-(n-b)) 这两个数哪个大 大的值x100返回 姑且是过了,不知道能不能帮到你
点赞 回复 分享
发布于 2018-08-29 00:40
是Java的吗?为什么我和你题不一样
点赞 回复 分享
发布于 2018-08-29 02:46
我也是83,难道是什么特殊用例?
点赞 回复 分享
发布于 2018-08-28 22:58
#include<iostream> #include<string> #include<stack> using namespace std; int main() {     string str;     getline(cin, str);     int point = str.size()-1;     int right = str.size();     int left;     bool flag = true;     unsigned int len = str.size();     for (int i = len - 1; i >= 0; i--)     {         if (str[i] != ' ')         {             flag = false;             point--;             continue;         }         if (!flag)         {             flag = true;             left = point;             point++;             while (point != right)             {                 cout << str[point];                 point++;             }             cout << " ";             point = left - 1;             right = left;         }         else         {             right = point;             point--;         }     }     point++;     if (point != right)     {         while (point != right)         {             cout << str[point];             point++;         }         cout << " ";     }     cout <<'\b';     system("pause");     return 0; }
点赞 回复 分享
发布于 2018-08-28 22:19

相关推荐

牛客245670684号:虚拟货币预测正确率百分之99,还要找工作干嘛,不早就财富自由了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务